我对OpenERP有疑问。如果其中一个字段为空,如何抛出警告?例如,在添加产品时,如果我们忘记添加Name属性,则应该发出警告。
在这种情况下,我想添加更多必填字段,例如产品代码等。抱歉,我对这个系统还不熟悉。
答案 0 :(得分:2)
一种方法是可以添加约束。 _constraint是OpenERP中的预定义字段。它用于在对象上添加约束。它以元组列表作为参数。列表中的元组包含三个参数
字段列表(应用约束的字段)
如果条件在创建和更新记录时返回False,则会触发_constraint并显示消息。
_constraint的示例代码显示如下。
def _check_length(self, cr, uid, ids, context=None):
record = self.browse(cr, uid, ids, context=context)
for data in record:
if data.length < 0:
return False
return True
_columns = {'length': fields.integer('Length'),}
_constraints = [(_check_length, 'Error: Length must be Positive', ['length'])]
另一种方法是修改create和write函数(这是openerp基函数)并检查是否指定了所有必要的数据。
答案 1 :(得分:0)
为了检查重复值,您可以使用_sql_constraints。
您只需要执行以下代码。
例如来自account_payment:
_sql_constraints = [
('name_uniq', 'UNIQUE(name)', 'The payment line name must be unique!'),
]
希望这会对你有所帮助。
此致