Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Odoo:仅从计算机生成一次计算字段_Python_Odoo 12 - Fatal编程技术网

Python Odoo:仅从计算机生成一次计算字段

Python Odoo:仅从计算机生成一次计算字段,python,odoo-12,Python,Odoo 12,我有一个奇怪的例子,一个计算字段sell\u price,我希望它在更改时存储新值,所以我放了一个store=True和一个inverse函数,这样它就不会影响原始值,这对我来说非常有效,并将新值存储到数据库中。 然而,当从另一个模型调用时,它会重新计算并返回原始值(我检查了数据库并存储了新值) 它为什么会这样做,这很令人困惑 代码 通过related在这里调用它会带来旧的原始值 class ReturnLine(models.Model): sale_line_id = fields.

我有一个奇怪的例子,一个计算字段
sell\u price
,我希望它在更改时存储新值,所以我放了一个
store=True
和一个
inverse
函数,这样它就不会影响原始值,这对我来说非常有效,并将新值存储到数据库中。 然而,当从另一个模型调用时,它会重新计算并返回原始值(我检查了数据库并存储了新值) 它为什么会这样做,这很令人困惑

代码

通过
related
在这里调用它会带来旧的原始值

class ReturnLine(models.Model):
    sale_line_id = fields.Many2one(comodel_name="custom.sale.line", string="Product", required=False, )
    price = fields.Float(string="Price", related='sale_line_id.sell_price')
我还尝试使用
compute
而不是
related
,仍然得到了相同的结果

假设原价
售价
=5

新的
售价
=10

在数据库中检查
sell\u price
=10

现在
价格
=5

class ReturnLine(models.Model):
    sale_line_id = fields.Many2one(comodel_name="custom.sale.line", string="Product", required=False, )
    price = fields.Float(string="Price", related='sale_line_id.sell_price')