重复相同记录的Many2many字段

时间:2019-08-23 13:34:29

标签: python xml many-to-many odoo odoo-12

我的自定义模型中有一个字段:

class custom_equipment_spec_soft(models.Model):
    _name = 'custom_maintenance.equipment.spec.soft'

    name = fields.Char(string='Name', required=True)

我在这样的现有模型中引用了它:

soft_ids = fields.Many2many(comodel_name='custom_maintenance.equipment.spec.soft', relation='custom_maintenance_equipment_spec_soft_eq_rel', string='Software')

然后我添加了带有树(表)的视图:

<group>
    <field name="soft_ids" widget="many2many">
        <tree>
            <field name="name"/>
        </tree>
    </field>
</group>

但是现在当我从表内的数据库中选择一条记录时,我无法第二次选择它。我希望能够多次选择同一条记录。

我该怎么做?这是更改视图窗口小部件的问题,还是要做一些后端限制?

1 个答案:

答案 0 :(得分:1)

您可以做的是创建另一个与Many2onecustom_maintenance.equipment.spec.soft关系的模型,假设spec.soft.line并从现有的One2many添加spec.soft.line关系到custom_maintenance.equipment.spec.soft模型,在这种情况下,您可以多次添加相同的class SpecSoftLine(models.Model): _name = 'spec.soft.line' spec_soft_id = fields.Many2one('custom_maintenance.equipment.spec.soft') existing_model_id = fields.Many2one('existing.model.name') ##Existing model soft_ids = fields.One2many(comodel_name='spec.soft.line', inverse_name='existing_model_id') ##On existing model view add <group> <field name="soft_ids" > <tree editable="bottom"> <field name="spec_soft_id"/> </tree> </field> </group> 记录。

{{1}}