如何在odoo的notbook表单内添加树形视图?

时间:2018-11-05 11:17:37

标签: odoo odoo-10

我想在自定义模块中添加树形视图,如下所示: enter image description here

这是我的XML文件: enter image description here

2 个答案:

答案 0 :(得分:1)

为此,您需要定义一个类型为One2many或Many2many的字段,以便能够在表单中将其显示为树视图关系。您可以将o2m或m2m字段的<tree/>定义与要嵌套在该字段中的关系模型中显示的字段嵌套在一起,例如:

<notebook>
    <page>
        <field name="x2m_field">
            <tree>
                <field name="name"/>
                <field name="state"/>
            </tree>
        </field>
    </page>
</notebook>

我没有完全使用您的视图定义,因为无法将图像复制到gedit中,但是您可以从示例中了解这个想法

答案 1 :(得分:0)

Mahmoud, 对于笔记本,需要在笔记本类的主类中有一个One2many字段,并且需要在笔记本类和主类之间的一个Many2one域。并在树标记之前的xml中添加One2many字段。

例如:

class Mainclass(models.Model):
_name = 'main.class'
    notebook_ids = fields.One2many('notebook.class', 'main_class_id', string="Notebook")


class NotebookClass(models.Model):
_name = 'notebook.class'
      main_class_id = fields.Many2one('main.class', string="Main Class")
      name = fields.Char(string="Name")
      state = fields.Char(string="state")

您必须添加XML

<notebook>
    <page>
        <field name="notebook_ids">
            <tree>
                <field name="name"/>
                <field name="state"/>
            </tree>
        </field>
    </page>
</notebook>

在需要添加笔记本的任何地方添加一个One2many字段。笔记本领域应该写在另一个类中。

提前谢谢!祝您编码愉快!