Шпаргалка по созданию модуля odoo 10 - m3dbedb/odoo GitHub Wiki

Создаём папку модуля, например, project_version. Название папки равно названию модуля, они могут содержать буквы, цифры и знак подчёркивания.

Создаём файл __init__.py со ссылкой на файлы питона без расширения через запятую.

Создаём файл __manifest__.py с параметрами name, application, author, depends, description. Обязательный параметр только name

Примечания - отступы на питоне - 4 символа, метка конца файла на последней строке с текстом. Использование русского языка приводит к ошибке "All strings must be XML compatible. Unicode or ASCII, no NULL bytes or control characters."

Создаём файл на питоне, описывающий класс модуля (один или несколько), например, project_version.py

После этого можно установить модуль и убедиться что ваша модель отобразилась в меню Настройки>Технические>Структура БД>Модели

Теперь создаём описание нового звена меню (если требуется) и вид в папке views, например versions_menu.xml

<menuitem id="menu_project_version" parent="project.menu_project_config" name="Versions" action="action_project_versions" sequence="4" />

XML ID родительского узла можно посмотреть в файле, описывающем вид основного модуля, к которому вы добавляете свое приложение, существующие последовательности меню можно посмотреть введя в строке поиска название родительского узла в окне Настройки>Технические>Интерфейс>Узлы меню на вкладке Подменю Новой строке меню должно соответствовать действие, иначе оно не отобразится, действие должно быть описано в виде

<act_window id="action_project_versions" name="Project versions" res_model="project.version" view_mode="tree,form" />

Прописываем файл вида в __manifest__.py :

'data': ['views/versions_menu.xml'],

Если модуль установлен, достаточно обновить модуль и меню должно появиться.

Пример смотри в отдельной странице