Получение нескольких идентификаторов одной таблицы - PullRequest
0 голосов
/ 12 декабря 2018

Таким образом, у каждого партнера есть эти поля, которые я добавил в список fields в моем методе.эти поля представляют собой многие два поля с comodel 'product.category', поэтому они находятся в одной таблице.Как я могу получить идентификаторы всех этих полей для текущего партнера?

class ClientPotential(models.Model):
    _name = 'client.potential'
    _description = 'Client Potential'
    partner_id = fields.Many2one(
            'res.partner', string='Client')

@api.onchange('partner_id', 'categ_id')
    def _calculate_potential(self):
        categ_obj = self.env['product.category']
        fields = ['flexible_id', 'flexible_qty', 'drawer_id', 'drawer_qty',
                  'runner_id', 'runner_qty', 'group_1_id', 'group_1_qty', 'group_2_id',
                  'group_2_qty', 'group_3_id', 'group_3_qty']

        for field in fields:
            categ_obj += 
        ?????

1 Ответ

0 голосов
/ 12 декабря 2018

Я думаю, что getattr сделает свое дело:

    categ_obj = self.env['product.category']
    fields = ['flexible_id', 'flexible_qty', 'drawer_id', 'drawer_qty',
              'runner_id', 'runner_qty', 'group_1_id', 'group_1_qty', 'group_2_id',
              'group_2_qty', 'group_3_id', 'group_3_qty']
    if self.partner_id:
        for field_name in fields:
            categ_obj += getattr(self.partner_id, field_name)

Надеюсь, у вас есть идея

Человек, я люблю Python из-за этого.

...