#python #odoo
#python #odoo
Вопрос:
Я настраиваю несколько представлений (дерево, форму) модели.
У меня есть два представления дерева и формы, где мне нужно открыть представление Tree 2 в виде записи.
При нажатии на запись в дереве 2 затем откройте форму 2 в качестве страницы сведений. В настоящее время я установил последовательность просмотра дерева 1, работающую, но все еще открывающую форму 1 вместо Form2.
Как я могу это сделать?
Комментарии:
1. Не могли бы вы добавить больше деталей? Добавление кода представлений, например
Ответ №1:
Если вы хотите указать используемые представления, вы можете добавить context
атрибут и указать идентификатор представления для каждого поддерживаемого типа представления, точно так же, как view_id
атрибут action:
<field name="order_line" colspan="4" nolabel="1" context="{'form_view_ref' : 'module.view_id', 'tree_view_ref' : 'model.view_id'}"/>
Если вы не укажете представления, OpenERP выберет одно в таком порядке :
- Он будет использовать представление <форма> или <дерево>, определенное внутри поля (см. Ниже)
- В противном случае будут использоваться представления с наивысшим приоритетом для этого объекта.
- Наконец, он сгенерирует пустые представления по умолчанию со всеми полями.
Обратите внимание, что
контекстные ключи имеют имена<view_type>_view_ref
.По умолчанию OpenERP никогда не будет использовать представление, которое не определено для вашего объекта. Если у вас есть две модели с одинаковыми полями, но разными названиями моделей, OpenERP никогда не будет использовать представление одной для другой, даже если одна модель наследует другую.
Вы можете принудительно выполнить это, указав представление вручную либо в действии, либо в контексте.
Ответ №2:
Вы можете использовать следующий код:
<act_window id="action_books2"
name="All books"
res_model="library.books"
view_mode="tree,form"
domain="[--any domain--]"
context="{'--any context--'}" />
И затем вы определяете действие для древовидного представления и другое для формы, view:
<record id="action_books2_tree" model="ir.actions.act_window.view">
<field name="act_window_id" ref="action_books2" />
<field name="view_id" ref="view_all_books2_tree" />
<field name="view_mode">tree</field>
<field name="sequence" eval="2"/>
</record>
<record id="action_all_books2_form" model="ir.actions.act_window.view">
<field name="act_window_id" ref="action_all_books2" />
<field name="view_id" ref="view_books2_form" />
<field name="view_mode">form</field>
<field name="sequence" eval="2"/>
</record>