如何检查浮动字段并为 Odoo v8 中的任何操作提供约束
How to check for a float field and give a constraint for any action in Odoo v8
假设,在自定义模块中,我有以下字段:
product_id、stock_location、stock_move、等等
在另一个自定义模块上,我有一个 Float 字段,它将有一个数量,它将代表一个财政年度。
因此,在我进行任何移动之前,我应该检查此 Float 字段,并以某种方式将其数据与产品或我将要移动的产品进行比较(产品有一个名为 'sale_price'
的字段,但它可能甚至是产品上的自定义 Float)
我不知道我是不是在解释自己,但我想要的是比较这些字段,并对操作进行约束,如果 custom_fiscal
Float 字段的值低于 product_price
浮动一个,然后显示一个 ValidationError
或类似的东西。
这些字段位于两个不同的模块上,尽管这可以通过继承和模块依赖实现。
我不确定使用 _constraint
或 _sql_constraint
是否可以实现这种情况
有什么想法吗?
这里有几个不同的好选择:
将_constraints
字段添加到一个模块并强制该模块依赖于另一个自定义模块。
{'name': 'custom_a', 'depends': ['custom_b']}
创建一个独立的第三个自定义模块,将它们链接在一起。您会看到 Odoo 核心使用 stock_account
.
等模块做了相当多的工作
{'name': 'custom_link', 'depends': ['custom_a', 'custom_b']}
class Constrains(models.Model):
_constraints = [(_check, 'My message...', ['my_field'])]
假设,在自定义模块中,我有以下字段:
product_id、stock_location、stock_move、等等
在另一个自定义模块上,我有一个 Float 字段,它将有一个数量,它将代表一个财政年度。
因此,在我进行任何移动之前,我应该检查此 Float 字段,并以某种方式将其数据与产品或我将要移动的产品进行比较(产品有一个名为 'sale_price'
的字段,但它可能甚至是产品上的自定义 Float)
我不知道我是不是在解释自己,但我想要的是比较这些字段,并对操作进行约束,如果 custom_fiscal
Float 字段的值低于 product_price
浮动一个,然后显示一个 ValidationError
或类似的东西。
这些字段位于两个不同的模块上,尽管这可以通过继承和模块依赖实现。
我不确定使用 _constraint
或 _sql_constraint
有什么想法吗?
这里有几个不同的好选择:
将
_constraints
字段添加到一个模块并强制该模块依赖于另一个自定义模块。{'name': 'custom_a', 'depends': ['custom_b']}
创建一个独立的第三个自定义模块,将它们链接在一起。您会看到 Odoo 核心使用
等模块做了相当多的工作stock_account
.{'name': 'custom_link', 'depends': ['custom_a', 'custom_b']} class Constrains(models.Model): _constraints = [(_check, 'My message...', ['my_field'])]