Автоматическое действие - операция, которая совершается, когда происходит определенное действие, которое тригерит автоматическое действие.
Используется для создания новой записи. В поле target model задается модель, в которой нужно создать новую запись. В data to write выбираются поля и прописывается, как их нужно заполнить.
Чтобы найти определенную запись (строку таблицы), используется метод search.
переменная=env['название модели'].search([('поле модели, по которому производится поиск','знак сравнения',[поле записи, по которой производится поиск])])
Пример: поиск проекта, сотрудником которого является пльзователь (действие срабатывает при авторизации пользователя)
project=env['project.project'].search([('x_project_members','in',[record.id])])
Чтобы записать в поле записи новое значение, воспользуйтесь методом write
запись.write({'поле':значение})
Пример: record.write({'name':"project123"})
Данный пример взят из кода автоматического действия. Record-это запись, создание или изменение которое стригерили действие.
Для создания записи в модели используется метод create
env['модель'].create({ 'поле':'значение', 'поле':'значение', 'поле':'значение'})
Пример: создание новой формы view
env['ir.ui.view'].create({ 'type':'qweb', 'name':'view_project'+str(project.x_project_number), 'priority':16, 'arch':arch, 'active':True, 'x_project_num':project.x_project_number })