Я пытаюсь создать новый контакт в приложении odoo, но он показывает мне эту ошибку:
KeyError: 'ir.values'
Проблема связана с этой функцией.
class ResPartner(models.Model):
_inherit = 'res.partner'
def _default_credit_limit(self):
return self.env['ir.values'].get_default('account.config.settings', 'credit_limit')
я не понимаю проблемы
Не могли бы вы мне помочь
Спасибо за ваш ответ. Я использую одоо 12
Вы уверены, что этот параметр вообще существует? Я точно не знаю, но не смог найти, я знаю, что в Odoo 8 он существовал. Помимо того, что я не думаю, что он больше существует: account.config.settings
не существует на 100%, потому что модель настроек была преобразована в res.config.settings
.
На самом деле поле партнера credit_limit
тоже исчезло. Поэтому, если вы хотите использовать его и иметь значение по умолчанию вне кода, используйте ir.default
для желаемого поведения.
эй @CZoellner спасибо за ваш ответ. Я не могу использовать объект ['ir.default'], потому что у него нет атрибута 'get_default'
Вы, очевидно, должны изучить модель самостоятельно. ;-) Вам тоже нужно установить значение по умолчанию, его не существует для credit_limit
KeyError: 'ir.values'
Если вы запустите self.env['ir.values']
на Odoo 12, вы получите указанную выше ошибку, потому что модель ir.values
не существует в Odoo 12.
Модель ir.values
была удалена и заменена на ir.default
. Например:
self.env['ir.default'].get('sale.order', 'sale_order_template_id')
Вы можете увидеть соответствующий файл в основном коде Odoo или коммит, в который была добавлена большая часть этой модели.
какую версию Odoo вы используете?