【问题标题】:Nested Tree View in Odoo v8Odoo v8 中的嵌套树视图
【发布时间】:2016-06-10 15:19:19
【问题描述】:

我有一个任务列表,每个任务可能有 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

【问题讨论】:

    标签: odoo


    【解决方案1】:

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

    <field name="view_type">tree</field>
    

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

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

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

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

    您可以在旧文档中阅读此内容,即使它根本没有说清楚https://doc.odoo.com/6.0/developer/2_7_menu_action/7_2_actions/
    您可以将 Odoo 中为数不多的树视图之一的操作定义作为示例,Products by category

    【讨论】:

    • 感谢您的回答,我会在接下来的几分钟内尝试一下。关于你的第一个 sn-p:你的意思是 name="view_type" 而不是 name="view_mode",因为这就是你上面所说的?问候。
    • 实际上&lt;field name="view_type"&gt;tree&lt;/field&gt; 有效。非常感谢。下一个问题是点击记录时没有打开表单视图。
    • 是的,我的意思是view_type,正如我所描述的,我现在编辑了sn-p。
    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    相关资源
    最近更新 更多