Odoo多2多选择字段

2024-04-20 07:43:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试在Odoo9中创建一个选择字段。我可以添加一个项目,但它不保存名称,只保存创建它的用户的名称。在

enter image description here

我的模型.py看起来

from openerp import models, api, fields

class ComputerItems(models.Model):
    _name = "notebook"
    items_computer = fields.Char("Items")
    ds_items = fields.Char("Items")


class ds_repair(models.Model):

    _name = "ds.repair"
    x_partner_id = fields.Many2one('res.partner', 'Client', required=True)
    other = fields.Char("Other", size=128)
    items = fields.Many2many('notebook',
                             'ds_items', string='Items')

我的模型.xml

^{pr2}$

Tags: name模型名称fieldspartnerodoo9modelmodels
2条回答

当您不为您的模型创建任何树时,odoo将为它创建一个costum树:

首先,他将检查属性_rec_name的值。rec\u name包含表示记录的字段的名称,默认情况下,_rec_name = "name"因此odoo将查找名为name的字段。如果存在,odoo将创建一个包含一个字段的树。但是就像您的模型没有一个名为odoo的字段一样,odoo将创建一个带有create_uid的树。为了告诉odoo从另一个字段创建一个树,您需要更改\u rec_name的值

class ModelClass(models.Model):
     _name ="model.name"
    _rec_name = "field_name"

    field_name = fields.....

当您的模型只有一个字段时,这是很好的,但是当您的模型有多个字段时,您有两个选择

如果您的模型只需要一棵树来进行所有类型的使用,请为其创建一棵树,odoo将始终调用它

如果您的模型可以有多个不同的多个或一个2个多个字段的多个树,您可以这样做:

^{pr2}$

如果要使用many2many_tags小部件,则需要指定_rec_name

_rec_name = "field_name"

<field name="x2many_field_name" widget="many2many_tags" />

只需对字段“items”进行如下更改

 <field name="items" widget="many2many_tags"/>

相关问题 更多 >