如何检查浮点字段并为Odoo v8中的任何操作提供约束

时间:2017-08-21 03:59:46

标签: python openerp odoo-8

假设在自定义模块中,我有以下字段:

product_id,stock_location,stock_move等

在另一个自定义模块上,我有一个Float字段,它将有一个数量,它将代表一个会计年度。

所以,在我做任何动作之前,我应该检查这个Float字段,并以某种方式将它的数据与产品或我将要移动的产品进行比较(产品有一个名为'sale_price'的字段但是它甚至可以是产品上的定制Float)

我不知道我是否在解释自己,但我想要的是比较这些字段,并对行动施加约束,如果custom_fiscal Float字段的值低于product_price浮动一个,然后显示ValidationError或类似的东西。

这些字段位于两个不同的模块上,尽管这可以通过继承和模块依赖来实现。

我不确定使用_constraint_sql_constraint

是否可以实现这种情况

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这里有几个不同的好选择:

  1. _constraints字段添加到一个模块,并强制模块依赖其他自定义模块。

    {'name': 'custom_a', 'depends': ['custom_b']}
    
  2. 创建一个独立的第三个自定义模块,将它们链接在一起。您会看到Odoo核心使用stock_account等模块执行此操作。

    {'name': 'custom_link', 'depends': ['custom_a', 'custom_b']}
    
    class Constrains(models.Model):
        _constraints = [(_check, 'My message...', ['my_field'])]