Openerp Python,odoov10

Openerp Python,odoov10,openerp,Openerp,在“贷款”模块中检查重复员工时出现以下错误 “InternalError”:当前事务中止,在事务块结束之前忽略命令 以下是我的代码: @api.multi def _check_duplicate_employee(self): employee_loan_ids=self.search([('state','=',"approved"),('id','!=','ids')]) loan_employee=[] for emp_ids in self(employee

在“贷款”模块中检查重复员工时出现以下错误 “InternalError”:当前事务中止,在事务块结束之前忽略命令 以下是我的代码:

 @api.multi 
def _check_duplicate_employee(self):
    employee_loan_ids=self.search([('state','=',"approved"),('id','!=','ids')])
    loan_employee=[]
    for emp_ids in self(employee_loan_ids):
        loan_employee.append(emp_ids.employee_id.id) 
    if self.state == "approved" and self.employee_id.id in loan_employee:
        return False

    return True
_constraints = [
    (_check_duplicate_employee, 'One of the loan of this employee is already approved ', ['employee_id']),

]
我注意到:

员工贷款ID已经是记录集,因此您不需要使用self(员工贷款ID)

如果翻译了
self.state
,您也需要翻译“approved”

for emp_ids in employee_loan_ids: