如何从计算字段中读取?在Odoo 9

时间:2017-06-21 09:37:28

标签: openerp odoo-9 computed-field

我在名为 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 为什么这样,我怎样才能获得正确的值?

注意:如果 page_price 字段被定义为Float字段而不是计算字段,则book_price的结果为70。

0 个答案:

没有答案