Как привязать действие / мастера к конкретной модели с помощью метода python в Odoo - PullRequest
0 голосов
/ 18 декабря 2018

AFAIK, если я хочу привязать действие / мастера к модели, то мне нужно написать этот строчный код в xml, например:

<act_window name="New Sub menu"
    res_model="action.product"
    src_model="product.product"
    key2="client_action_multi" 
    view_mode="form" target="new" 
    view_type="form"
    id="act_new_sub_menu" />

И, очевидно, мне нужно перезапустить сервер, чтобы сделать этодоступны изменения.

Но можно ли вызвать через Python другой метод для привязки определенного действия / мастера к конкретной модели в odoo?поэтому мне не нужно перезагружать сервер, чтобы сделать эти действия / мастера доступными

Примечание: мы можем предположить, что модель действия / мастера (action.product) была реализована и полностью загружена.Я просто хочу связать это же действие с другой моделью (например, project.task) с помощью метода python.

1 Ответ

0 голосов
/ 19 декабря 2018

Хорошо, теперь я понял.нам просто нужно зарегистрировать существующее действие / мастер в существующей другой модели в ir.values.Другими словами, мне просто нужно создать ir.values ​​в методе python,

Например: если я хочу связать мастер 'action.product' с моделью project.task, мне просто нужно написать эту строку кода:

self.env['ir.values'].create(
{'key': 'action',
'key2': 'client_action_multi',
'model': 'project.task',
'res_id': 0,
'name': 'act_new_sub_menu',
'value': 'ir.actions.act_window,' + str(self.env['ir.actions.act_window'].search([('name', '=', 'New Sub menu')]).ids[0]),
})

надеюсь, это поможет и вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...