我在一个名为page_price的模型中有一个计算字段。
Class Page(models.Model):
page_price = fields.Float(compute='compute_page_price')
def compute_page_price(self):
self.page_price = 7 # this value is an example
如果我在视图中显示此字段,它会显示 7。
问题是当我尝试从另一个模型中获取价值时。
Class Book(models.Model):
book_price = fields.Float(compute='compute_book_price')
def compute_book_price(self):
# page_id has the value of a Page row id
page_price = self.env['Page'].search([('id', '=', page_id)])[0].page_price
self.book_price = page_price * 10
在这里,book_price 的值始终为 0 而不是
70。compute_book_price 函数中 page_price 的值是 0 而不是 7。
为什么会这样,我怎样才能获得正确的值?
注意:如果page_price字段定义为浮点字段而不是计算字段,则 book_price 的结果为 70。