跳转到主要内容

Many2many的自定义字段

项目描述

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runboat

此模块添加了一个具有create_table属性的新Many2many自定义字段。

目录

用法

Many2many自定义字段在需要直接访问关系表时很有用,例如在专用树视图中可编辑。

让我们考虑以下模型

class MyModelA(models.Model):

    _name = 'my.model.a'

    my_model_b_ids = fields.Many2manyCustom(
        'my.model.b',
        'my_model_a_b_rel',
        'my_model_a_id',
        'my_model_b_id',
        create_table=False,
    )


class MyModelB(models.Model):

    _name = 'my.model.b'

    my_model_a_ids = fields.Many2manyCustom(
        'my.model.a',
        'my_model_a_b_rel',
        'my_model_b_id',
        'my_model_a_id',
        create_table=False,
    )


class MyModelABRel(models.Model):

    _name = 'my.model.a.b.rel'

    my_model_a_id = fields.Many2one(
        'my.model.a',
        required=True,
        index=True,  # Index is mandatory here
    )
    my_model_b_id = fields.Many2one(
        'my.model.b',
        required=True,
        index=True,  # Index is mandatory here
    )

通过在Many2manyCustom字段上设置create_table=False,并使用关系表名称作为关系模型的_name,我们能够为my.model.a.b.rel定义一个专用的树视图。

<record id="my_model_a_b_rel_tree_view" model="ir.ui.view">
    <field name="name">my.model.a.b.rel.tree.view</field>
    <field name="model">my.model.a.b.rel</field>
    <field name="arch" type="xml">
        <tree editable="top">
            <field name="my_model_a_id" />
            <field name="my_model_b_id" />
        </tree>
    </field>
</record>

错误跟踪器

错误在GitHub问题中跟踪。如果在那里找不到您的问题报告,请检查。如果您是第一个发现它的人,请帮助我们通过提供详细且受欢迎的反馈来砸碎它。

请勿直接联系贡献者以获取支持或技术问题的帮助。

鸣谢

作者

  • Camptocamp

贡献者

维护者

此模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

本模块是GitHub上OCA/server-tools项目的一部分,项目链接为:OCA/server-tools

欢迎您贡献力量。要了解如何贡献,请访问:https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程

构建分发

由以下支持