Сравнить общее количество просмотренных документов с любым числом;если итоговые документы не равны количеству, то следует дать сообщение (Odoo) - PullRequest
0 голосов
/ 15 февраля 2019

Перед сохранением или редактированием записи я хочу сравнить выбранные документы с 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...