Как записать значения во многие поля многих - PullRequest
0 голосов
/ 25 октября 2018

Я хочу записать список значений в many2many поле в вычислительной функции.

class procont(models.Model):
    _name='pro.cont'
    unit_ids= fields.Many2many('pro.unit',string="Units",compute="get_units",store=True)

Выше приведено объявление

    def get_units(self):
    if self.unit_line:
        ls=[]
        for line in self.unit_line:
            ls.append(line.unit_id.id)
        self.unit_ids=self.env['pro.unit'].browse(list(set(ls)))

, когда я печатаю self.unit_ids, я получаюЗначения в терминале, но не отображаются в виде формы.В представлении формы поле банка

def get_units(self):
    if self.unit_line:
        ls=[]
        for line in self.unit_line:
            ls.append(line.unit_id.id)
        self.write({'unit_ids':[(6,0,ls)]})

Когда я пытаюсь выполнить приведенный выше код, я получаю следующую ошибку:

ProgrammingError: syntax error at or near ")"

LINE 2: ... ntract_pro_unit_rel.pro_cont_id IN () И pro...

1 Ответ

0 голосов
/ 26 октября 2018

напечатайте 'ls' просто чтобы проверить, есть ли внутри него идентификаторы.

, затем попробуйте этот код, чтобы написать на Many2many:

self.unit_ids = [(6,0,ls)]

Надеюсь, это поможет ...

...