如何使两个相关字段根据odoo 18中的状态具有不同的只读行为?

问题描述 投票:0回答:1

我有这些相关领域

qty_request = fields.Float('Qty Request')
product_qty = fields.Float('Product Quantity',
                           digits = 'Product Unit of Measure',
                           related = "qty_request",
                           store = True )

这使得当用户在 qty_request 字段中输入值时,product_qty 自动填充。 现在我必须使 qty_request 在草稿状态下可编辑,但在确认状态下为只读。而product_qty在草稿状态下是只读的,但在确认状态下是可编辑的。

我在我的 view.xml

中这样编码
<field name="qty_request" readonly="state != 'draft'"/>
<field name="product_qty" string="Quantity" readonly="state != 'confirm'"/>

但是 product_qty 只读行为遵循 qty_request 字段。恐怕是因为 product_qtyqty_request 相关,所以它也有其行为。我该如何解决这个问题?

xml odoo state field readonly
1个回答
0
投票

只需计算

product_qty
而不是相关(这是一个快捷计算字段)。

product_qty = fields.Float(
    string="Product Quantity",
    digits="Product Unit of Measure",
    compute="_compute_product_qty",
    store=True,
    readonly=True,

@api.depends("state", "qty_request")
def _compute_product_qty(self):
    for record in self:
        if record.state == "draft":
            record.product_qty = record.qty_request
        else:
            record.product_qty = record.product_qty
© www.soinside.com 2019 - 2024. All rights reserved.