在Odoo v8中未触发计算字段
我试图计算一个字段的值,并将该值存储在DB中。如果我删除了在Odoo v8中未触发计算字段,odoo,odoo-8,Odoo,Odoo 8,我试图计算一个字段的值,并将该值存储在DB中。如果我删除了store=True,一切看起来都很好,但是当我添加参数而不是显示函数的结果时,我的所有字段都会得到一个0 我还意识到,当我在树状视图或表单视图上时,没有调用我的计算字段函数 我的代码如下所示: @api.one def _compute_fats(self): for record in self: fats = 0 fats_id = record.name.i
store=True
,一切看起来都很好,但是当我添加参数而不是显示函数的结果时,我的所有字段都会得到一个0
我还意识到,当我在树状视图或表单视图上时,没有调用我的计算字段函数
我的代码如下所示:
@api.one
def _compute_fats(self):
for record in self:
fats = 0
fats_id = record.name.id
get_detail = self.env['trackfood.foods'].search([['id', '=', fats_id],])
for record2 in get_detail:
fats = record2.fats
self.fats = fats
fats = fields.Float(compute='_compute_fats', string="Fat" , store=True)
我的全部目标是获取每种产品的脂肪量
并将其存储在跟踪表中,以便能够绘制图表
任何提示都将不胜感激,
谢谢请尝试以下内容:
@api.multi
def _compute_fats(self):
for record in self:
fats = 0
fats_id = record.name.id
get_detail = self.env['trackfood.foods'].search([['id', '=', fats_id],])
for record2 in get_detail:
fats = record2.fats
record.fats = fats
我希望这会有所帮助。在方法中添加“依赖”定义。每当任何依赖字段的值发生更改时,将始终(且仅)调用该方法:
@api.multi
@api.depends('name') # seems to depend on record.name ??
def _compute_fats(self):
for record in self:
fats = 0
fats_id = record.name.id # Are you sure this is correct??
get_detail = self.env['trackfood.foods'].browse([fats_id]) # Faster search by id
for record2 in get_detail:
fats = record2.fats
record.fats = fats
使用decorator和multi-depends
@api.multi
@api.depends('name')
def function_name(self):
result= your_code
self.fats = result