Odoo v8中的嵌套树视图

Fre*_*ddy 2 odoo

我有一个任务列表,每个任务可以有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
Run Code Online (Sandbox Code Playgroud)

我想以分层方式呈现任务,如下所示:

SuperTask1
    SubTask1
    SubTask2
SuperTask2
    SubTask3
...
Run Code Online (Sandbox Code Playgroud)

到目前为止我的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>
Run Code Online (Sandbox Code Playgroud)

所述field_parent显示视图时,不考虑.我在这做错了什么?我查看了其他类似的问题和文档,但所有这些似乎只适用于不同版本的odoo.

有人有想法吗?

问候,F

Lea*_*rtS 5

在您的操作定义中,您应该将view_type字段设置为tree(默认情况下form):

<field name="view_type">tree</field>
Run Code Online (Sandbox Code Playgroud)

并删除view_mode,因为它忽略时view_typetree

这一切都非常令人困惑,因为遗留代码的命名错误仍然存​​在,这是出于向后兼容的原因.

  • view_type = form,view_mode = tree实际上是列表视图(表可视化),它不支持真正的树导航(扩展/折叠分支)

  • view_type = tree,(view_mode被忽略)是"真正的" 视图

您可以在旧文档中阅读此内容,即使它根本没有说清楚https://doc.odoo.com/6.0/developer/2_7_menu_action/7_2_actions/
您可以看一个例子中的动作定义Odoo的几个树视图,产品类别