Вычисляемое поле на виде дерева в odoo 12 - PullRequest
2 голосов
/ 28 февраля 2020

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

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

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 ]

6 голосов
/ 28 февраля 2020

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

@api.multi
def _roles_assigned(self):
    for rec in self:
        rec.assigned = 'assign your value here'
3 голосов
/ 28 февраля 2020

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

Попробуйте использовать следующий код:

@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
...