Я пытаюсь вычислить значение для отображения в виде дерева, проблема в том, что моя частная функция никогда не выполняется и не устанавливает значение для моего вычисляемого поля.

Я упростил следующий код:

class ProjectProject(models.Model):
    _inherit = "project.project"
    assigned = fields.Char(string='Assigned multi', compute='_roles_assigned', store=False)

    @api.multi
    @api.depends('task_ids')
    def _roles_assigned(self):
        #do dome calculations
        assigned = ' test of 1' #'0 / {total}'.format(total=total)
        return assigned

tree view

Как вы видите на изображении, значение всегда пустое

2
jack.the.ripper 28 Фев 2020 в 01:27

2 ответа

Лучший ответ

Когда мы отображаем вычисляемое поле в виде дерева, в нем будет установлено несколько записей. Таким образом, мы должны установить значение для каждого набора записей.

Попробуйте с помощью следующего кода:

@api.multi
def _roles_assigned(self):
    #do dome calculations
    for record in self:
        assigned = ' test of 1' #'0 / {total}'.format(total=total)
        record.assigned = assigned
3
Bhavesh Odedra 28 Фев 2020 в 05:09

Вы должны перебрать записи и присвоить им какое-то значение, проверьте код ниже.

@api.multi
def _roles_assigned(self):
    for rec in self:
        rec.assigned = 'assign your value here'
6
Juhil Somaiya 28 Фев 2020 в 05:12