odoo数据库验证

odoo数据库验证,odoo,odoo-8,odoo-10,odoo-9,Odoo,Odoo 8,Odoo 10,Odoo 9,我想在同时插入字段customer_id和project_product_id并与数据库一起检查时进行验证,如果两者与数据库相同,则显示错误 我的py代码是 _name='crm.project' customer_id = fields.Many2one('res.partner','Customer') @api.multi @api.constrains('customer_id','project_product_id') def _check_total_value(self):

我想在同时插入字段customer_id和project_product_id并与数据库一起检查时进行验证,如果两者与数据库相同,则显示错误

我的py代码是

_name='crm.project'
customer_id = fields.Many2one('res.partner','Customer')
@api.multi 
@api.constrains('customer_id','project_product_id')
def _check_total_value(self):
    target_list = []
    get_customer_id = self.customer_id
    get_project_product_id = self.project_product_id
self.env.cr.execute('''
                            select * 
                            from crm_project 
                            where customer_id = %s 
                                AND project_product_id = %s
                                
    ''',(get_customer_id,get_project_product_id))
    for target in self.env.cr.dictfetchall():
        target_list.append(target)
    if target_list:
        raise Warning("data duplicate")  
检查数据库,如果两者与数据库相同,则显示错误

那么您显然需要在数据库中添加一个

不要在python代码中检查此类内容-当您在客户端应用程序中检查数据有效性时,有几十种情况下可能会出现错误,但在数据库级别上则不然

这就是如何