Python odoo 12中树状图上的计算字段
我试图计算一个要在树视图中显示的值,问题是我的私有函数从未执行过,并且没有为我的计算字段设置值 我简化了以下代码:Python odoo 12中树状图上的计算字段,python,odoo,odoo-12,Python,Odoo,Odoo 12,我试图计算一个要在树视图中显示的值,问题是我的私有函数从未执行过,并且没有为我的计算字段设置值 我简化了以下代码: class ProjectProject(models.Model): _inherit = "project.project" assigned = fields.Char(string='Assigned multi', compute='_roles_assigned', store=False) @api.multi @api.depend
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
@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
正如您在图像中看到的,当我们在树状视图中显示计算字段时,该值始终为空,它将设置多个记录。因此,我们必须为每个记录集设置值 请尝试使用以下代码:
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
@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
您必须迭代记录并为其赋值,请检查下面的代码
@api.multi
def _roles_assigned(self):
for rec in self:
rec.assigned = 'assign your value here'
您所做的是直接为字段设置值,但它不会工作,因为您的计算将用于所有记录,您必须进行循环并为每个记录分配值。检查我下面的代码并找到答案。他没有给任何东西赋值,但你的答案是正确的。Odoo13的一点提示:必须为调用计算方法的每个记录集赋值。在早期版本中,这是不需要的,但在Odoo 13中,如果不这样做,您将得到错误。对两个回答者来说:这是一个非常好的问题,为什么不向上投票呢?嗯,他需要填充这些值,但他没有为字段指定任何值,这就是为什么它没有显示在树视图中的原因@杰克:谢谢你的回答,因为两者都有相似的方法,我只是把第一个回答作为一个答案,我很欣赏这种合作