Odoo v8 中的嵌套树视图
Nested Tree View in Odoo v8
我有一个任务列表,每个任务可以有 0..* 个子任务。
我的模型目前是这样的:
label = fields.Char(string='Label')
parent_id = fields.Many2one('company.task', string='Super task')
sub_tasks = fields.One2many('company.task', 'parent_id', string='Sub tasks')
#skipped unnecessary parts
我想以分层方式呈现任务,如下所示:
SuperTask1
SubTask1
SubTask2
SuperTask2
SubTask3
...
我目前的 XML 看起来像这样:
<!-- Task action window -->
<record id="action_list_task_complete" model="ir.actions.act_window">
<field name="name">Tasks</field>
<field name="res_model">company.task</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create the first task</p>
</field>
</record>
<!-- Task tree -->
<record id="task_tree_window_view" model="ir.actions.act_window.view">
<field name="view_mode">tree</field>
<field name="view_id" ref="task_tree_view" />
<field name="act_window_id" ref="action_list_task_complete" />
</record>
<record id="task_tree_view" model="ir.ui.view">
<field name="name">company.task.tree</field>
<field name="model">company.task</field>
<field name="priority" eval="16"/>
<field name="field_parent">sub_tasks</field>
<field name="arch" type="xml">
<tree string="Task list" colors="blue:status=='not_processed';red:status=='delayed'">
<field name="label"/>
<field name="sub_tasks"/>
<field name="parent_id"/>
</tree>
</field>
</record>
显示视图时未考虑 field_parent。我在这里做错了什么?我查看了其他类似的问题和文档,但所有这些似乎只适用于不同版本的 odoo。
有人有想法吗?
问候,F
在您的操作定义中,您应该将 view_type
字段设置为 tree
(默认情况下为 form
):
<field name="view_type">tree</field>
并删除 view_mode
,因为当 view_type
为 tree
时它会被忽略
由于向后兼容的原因遗留代码的错误命名仍然存在,这一切都非常混乱。
view_type = 表单,view_mode = 树实际上是 list 视图(table 可视化)不支持真正的树导航(扩展/折叠分支)
view_type =树,(view_mode被忽略)是"real"树视图
您可以在旧文档中阅读此内容,即使它根本没有说清楚 https://doc.odoo.com/6.0/developer/2_7_menu_action/7_2_actions/
你可以看到 Odoo 中少数树视图之一的动作定义的例子,Products by category
我有一个任务列表,每个任务可以有 0..* 个子任务。
我的模型目前是这样的:
label = fields.Char(string='Label')
parent_id = fields.Many2one('company.task', string='Super task')
sub_tasks = fields.One2many('company.task', 'parent_id', string='Sub tasks')
#skipped unnecessary parts
我想以分层方式呈现任务,如下所示:
SuperTask1
SubTask1
SubTask2
SuperTask2
SubTask3
...
我目前的 XML 看起来像这样:
<!-- Task action window -->
<record id="action_list_task_complete" model="ir.actions.act_window">
<field name="name">Tasks</field>
<field name="res_model">company.task</field>
<field name="view_mode">tree,form</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create the first task</p>
</field>
</record>
<!-- Task tree -->
<record id="task_tree_window_view" model="ir.actions.act_window.view">
<field name="view_mode">tree</field>
<field name="view_id" ref="task_tree_view" />
<field name="act_window_id" ref="action_list_task_complete" />
</record>
<record id="task_tree_view" model="ir.ui.view">
<field name="name">company.task.tree</field>
<field name="model">company.task</field>
<field name="priority" eval="16"/>
<field name="field_parent">sub_tasks</field>
<field name="arch" type="xml">
<tree string="Task list" colors="blue:status=='not_processed';red:status=='delayed'">
<field name="label"/>
<field name="sub_tasks"/>
<field name="parent_id"/>
</tree>
</field>
</record>
显示视图时未考虑 field_parent。我在这里做错了什么?我查看了其他类似的问题和文档,但所有这些似乎只适用于不同版本的 odoo。
有人有想法吗?
问候,F
在您的操作定义中,您应该将 view_type
字段设置为 tree
(默认情况下为 form
):
<field name="view_type">tree</field>
并删除 view_mode
,因为当 view_type
为 tree
由于向后兼容的原因遗留代码的错误命名仍然存在,这一切都非常混乱。
view_type = 表单,view_mode = 树实际上是 list 视图(table 可视化)不支持真正的树导航(扩展/折叠分支)
view_type =树,(view_mode被忽略)是"real"树视图
您可以在旧文档中阅读此内容,即使它根本没有说清楚 https://doc.odoo.com/6.0/developer/2_7_menu_action/7_2_actions/
你可以看到 Odoo 中少数树视图之一的动作定义的例子,Products by category