Перед сохранением или редактированием записи я хочу сравнить выбранные документы с 2;если оно меньше ИЛИ больше 2, то это должно привести к ошибке проверки.Я написал код для того же самого, и он прекрасно работает, пока я не выберу больше или меньше чем 2 документа, а также генерирую свои собственные исключения.но всякий раз, когда я сохраняю документы с точными 2 документами, это дает мне ошибку, а не сохранение записи! Ошибка: в get_atstotal_attachments = vals ['attachments'];KeyError: 'attachments'
Нажмите здесь, чтобы увидеть ошибку!
attachments = fields.Many2many('ir.attachment', string="attachments")
def get_ats(self,vals):
total_attachments = vals['attachments'];
for lst1 in total_attachments:
for lst2 in lst1:
if type(lst2) == list:
a = len(lst2);
break;
if a < 2:
raise models.ValidationError('You must attach 2 documents!')
elif a > 2:
raise models.ValidationError('You can attach only 2 documents!')
@api.model
def create(self, vals):
self.get_ats(vals)
return super(SaleOrder, self).create(vals)
@api.model
def write(self, vals):
self.get_ats(vals)
return super(SaleOrder, self).write(vals)