Odoo:仅使一次计算的计算字段

问题描述

我有一个奇怪的情况,其中有一个计算字段sell_price,我希望它在更改时存储新值,所以我放置了一个store=True和一个inverse函数,因此不会影响原始值,这对我来说非常合适,并将新值存储到数据库中。 但是,当从另一个模型调用时,它会重新计算并返回原始值(我检查了数据库并存储了新值) 为什么这样行事很令人困惑

代码

class CustomSaleLine(models.Model):
    product_id = fields.Many2one(comodel_name="custom.product",string="Product")
    sell_price = fields.Float(string='Price',compute='_compute_price',inverse='_compute_dummy',store=True,)

    @api.depends('product_id.sell_price')
    def _compute_price(self):
        for rec in self:
            rec.sell_price = rec.product_id.sell_price

    def _compute_dummy(self):
        pass

通过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,但仍然得到相同的结果

让我们说原始的sell_price = 5

sell_price = 10

检入数据库sell_price = 10

现在price = 5

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...