假设在自定义模块中,我有以下字段:
product_id,stock_location,stock_move等
在另一个自定义模块上,我有一个Float字段,它将有一个数量,它将代表一个会计年度。
所以,在我做任何动作之前,我应该检查这个Float字段,并以某种方式将它的数据与产品或我将要移动的产品进行比较(产品有一个名为'sale_price'
的字段但是它甚至可以是产品上的定制Float)
我不知道我是否在解释自己,但我想要的是比较这些字段,并对行动施加约束,如果custom_fiscal
Float字段的值低于product_price
浮动一个,然后显示ValidationError
或类似的东西。
这些字段位于两个不同的模块上,尽管这可以通过继承和模块依赖来实现。
我不确定使用_constraint
或_sql_constraint
有什么想法吗?
答案 0 :(得分:1)
这里有几个不同的好选择:
将_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'])]