第八节 DTCloud 4Many2many关系

Many2many多对多关系

一个属性可以有 多个 标签,一个标签也可以被分配给 多个 属性。例如,一个学生可以有多个老师,一个老师可以有多个学生。many2many 是一个双向多对多关系:一边的任何记录都可以与另一边的任意数量的记录相关联。
首先创建模型添加字段。


class traceability_tag(models.Model):
    _name = 'traceability.tag'
    _description = '产品标签'

    name = fields.Char('标签', required=True)

创建视图,把字段渲染到视图中。

<record id="odoo_form_traceability_tag" model="ir.ui.view">
            <field name="name">traceability.tag.form</field>
            <field name="model">traceability.tag</field>
            <field name="arch" type="xml">
                <form string="表单">
                    <sheet>
                        <group>
                            <group>
                                <field name="name" />

                            </group>
                            <group>

                            </group>
                        </group>
                        <group>

                        </group>
                    </sheet>
                </form>
            </field>
        </record>

        <record id="odoo_tree_traceability_tag" model="ir.ui.view">
            <field name="name">traceability.tag.tree</field>
            <field name="model">traceability.tag</field>
            <field name="priority">1</field>
            <field name="arch" type="xml">
                <tree string="列表">

                    <field name="name"  />

                </tree>
            </field>
        </record>

        <record id="odoo_action_traceability_tag" model="ir.actions.act_window">
            <field name="name">产品标签</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">traceability.tag</field>
            <field name="view_mode">tree,form</field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">
                    创建单据.
                </p>
            </field>
        </record>

        <menuitem action="odoo_action_traceability_tag" id="menu_traceability" sequence="0"/>

 在模型中添加Manymany字段,并且渲染到视图中

tag_ids = fields.Many2many('traceability.tag', string='产品标签')
 <record id="odoo_tree_traceability" model="ir.ui.view">
            <field name="name">traceability.tree</field>
            <field name="model">traceability</field>
            <field name="priority">1</field>
            <field name="arch" type="xml">
                <tree string="列表">

                    <field name="name"  />
                    <field name="number"  />
                    <field name="date"  />
                    <field name="tag_ids"  />


                </tree>
            </field>
        </record>

给新建的模型添加权限。

最后重启服务器,查看我们的Many2many关系。

欢迎加群一起讨论DTCloud 4实施开发。

群号:557402829

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DTCloud4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值