Вы можете создать ir.actions.server
или простые Действия Сервера в технической части Odoo. Это имеет несколько интересных преимуществ для начинающих: немного документации. Ниже приведена копия из Odoo 10 и показана небольшая документация, которую вы получаете при создании действия сервера кода Python:
# Available variables:
# - time, datetime, dateutil, timezone: Python libraries
# - env: Odoo Environement
# - model: Model of the record on which the action is triggered
# - record: Record on which the action is triggered if there is one, otherwise None
# - records: Records on which the action is triggered if there is one, otherwise None
# - log : log(message), function to log debug information in logging table
# - Warning: Warning Exception to use with raise
# To return an action, assign: action = {...}
И вы выходите из меню, поэтому Odoo не знает ни о каких записях. Просто используйте model.on_test()
, как уже написано в PROTOCOL. Вы также должны украсить свой метод с помощью @api.model
, чтобы сообщить Odoo, что в вызове этого метода нет никаких записей.