Odoo 13: Как устранить исключение CacheMiss


Я работаю над созданием документа .docx на Odoo 13, я проверил модуль "report_py3o", но версии для Odoo 13 нет, поэтому я решил выполнить какой-то перенос (я просто удалил "@api. multi ") версии Odoo 12 в Odoo 13. Я получил ошибку типа odoo.exceptions.CacheMiss: ('ir.actions.report (85,). is_py3o_report_not_available', None), и моя база данных была поврежден. Вот полный журнал: журнал ошибок.

odoo.exceptions.CacheMiss: ('ir.actions.report(85,).is_py3o_report_not_available', None)

Я также проверил модуль aero, но он доступен только для версий 8.0 и 9.0.
Вы можете мне помочь? У тебя есть альтернатива для меня?


person m0r7y    schedule 08.04.2020    source источник
comment
Пожалуйста, не смешивайте так много вопросов. Я отредактировал заголовок, чтобы указать на настоящую проблему. Если вы хотите спросить об альтернативах, вы можете создать другой вопрос, который, вероятно, в любом случае будет закрыт, потому что это не будет вопрос о самом программировании.   -  person CZoellner    schedule 08.04.2020


Ответы (1)


Я не наблюдал за этим, но CacheMiss обычно выдается, когда метод вычисляемого поля не вычисляет значение для каждой полученной записи.

Неправильный:

computed_char_field = fields.Char(compute="_compute_computed_char_field")
some_boolean = fields.Boolean()

def _compute_computed_char_field(self):
    for record in self:
        if record.some_boolean:
            record.computed_char_field = 'something'

Если есть записи с some_boolean == False, вы получите CacheMiss при их вызове (например, в виде списка)

Правильный способ - всегда устанавливать значение, в этом примере просто добавьте ветку else:

def _compute_computed_char_field(self):
    for record in self:
        if record.some_boolean:
            record.computed_char_field = 'something'
        else:
            record.computed_char_field = ''
person CZoellner    schedule 08.04.2020
comment
Спасибо вам большое за ваш ответ. Я заметил это вычисляемое поле в модуле. Я протестирую это и дам вам отзыв. - person m0r7y; 08.04.2020
comment
Я правильно настроил все вычисляемые поля, как вы меня учите. Теперь модуль работает с v13. Большое тебе спасибо. - person m0r7y; 08.04.2020