3

我在一个名为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。

4

0 回答 0