Основная проблема заключается в том, что view_id
является полем Many2one, что означает, что в аргументе ref
можно указать только одно представление. Вы должны указать ссылку для любого вида, который будет основным (отображается первым). В вашем случае view_mode
указывает, что представление tree
будет основным.
<field name="view_id" ref="client_form_view_2_tree"/>
Рекомендуется также указывать ссылку по "module_name.view_name"
, хотя технически в этом нет ничего плохого.
Похоже, ваш context
правильно настроен на отображение правильного вида формы. Итак, я думаю, что ваш код должен быть хорошим, как только вы обновите view_id
.
Если это все еще не работает, то вам может понадобиться использовать аргумент views
для действия. См. Действия Документация для получения более подробной информации, но идея заключается в следующем:
<field name="views">[(id, name), (id, name)]</field>
<!-- This is just an example. You may have to tweak this to work properly -->
<field name="views">[('your_module.tree_view', 'tree'), ('your_module.form_view', 'form')]</field>
Список пар (view_id, view_type). Второй элемент каждой пары
это категория вида (дерево, форма, график, ...) и первый
необязательный идентификатор базы данных (или False). Если идентификатор не указан, клиент
должен получить представление по умолчанию указанного типа для запрошенного
модель (это автоматически выполняется fields_view_get ()). Первый
Тип списка является типом представления по умолчанию и будет открыт по умолчанию
когда действие выполнено. Каждый тип представления должен присутствовать не более
один раз в списке