0
我想添加数据库端验证,只允许使用SQL_Constraints或Check约束的基于订单ID的一个类别。关于插入或更新的数据库验证只允许基于订单ID的一个类别
表:order_line_table 实施例允许仅基于订单ID
Id Order_id Categ_id
1 1 4
2 1 4
3 1 4
4 2 5
5 2 5
实施例不允许基于订单ID
Id Order_id Categ_id
6 3 4
7 3 5
我试图插入或更新不同类别插入或更新相同的类别下面的代码在服务器端工作。但使用Web服务xmlrpc验证不起作用。
@api.one
@api.constrains('order_line')
def _check_category(self):
list_categ = []
filter_categ = []
if self.order_line:
order_line_vals = self.order_line
for line_vals in order_line_vals:
for line in line_vals:
categ_id = line.categ_id and line.categ_id.id or False
list_categ.append(line.categ_id.id)
if isinstance(line, dict):
list_categ.append(line['categ_id'])
filter_categ = list(set(list_categ))
if len(filter_categ) > 1:
raise UserError(_('Only one product category is allowed!'))
它反向工作。实际上,我的要求只允许基于order_id的同一类别。 – user1731940
谢谢在pgadmin方面工作。 – user1731940