我在名为 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的vaule为0而不是7 .
为什么这样,我怎样才能获得正确的 Value ?

Note: 如果将 page_price 字段定义为Float字段而不是计算字段,则book_price的结果为70 .