Атрибуты модели - m3dbedb/odoo GitHub Wiki

Атрибуты влияют на работу модулей

  • _name -это внутренний идентификатор для модели. Обязателен при создании новой модели. Используется для обращения к другой модели. При наследовании у потомка можно не указывать, тогда потомок унаследует этот атрибут.
  • _description является дружественным пользователю названием модели, отображаемое в пользовательском интерфейсе. Необязательно, но рекомендуется.
  • _order устанавливает порядок по умолчанию для использования при просмотре записей модели (строк таблицы), или в виде списка. Это текстовая строка, которая будет использоваться в качестве SQL для сортировки, поэтому он может быть все, что вы могли бы использовать, хотя у него есть умное поведение и поддержка переводимых и многие-к-одному имён полей. Для полноты, есть ещё несколько атрибутов, которые могут быть использованы в расширенных случаях:
  • _rec_name указывает поле, используемое в качестве записи описание при наличии ссылки из смежных областей, например, отношения многие-к-одному. По умолчанию, он использует поле имя, которое часто встречается в модели. Но этот атрибут позволяет использовать любое другое поле для этой цели.
  • _table -имя таблицы базы данных, которая поддерживает модель. Как правило, его оставляют рассчитываться автоматически, и в названии модели точки заменяются символами подчеркивания. Но это можно указать явно для указания конкретного имени таблицы.
  • _group_by_full переименован в group_expand и работает по-другому. Пример использования можно посмотреть в файлах project.py 9 и 10 Оды. определение можно посмотреть в odoo/models.py поиском по _read_group_fill_results