首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Odoo多2选择字段

Odoo多2选择字段
EN

Stack Overflow用户
提问于 2017-04-09 18:31:56
回答 2查看 2.6K关注 0票数 1

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

我的model.py看起来像

代码语言:javascript
复制
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')

My model.xml

代码语言:javascript
复制
<record id="view_ds_repair_form" model="ir.ui.view">
        <field name="name">ds.repair.form</field>
        <field name="model">ds.repair</field>

        <field name="arch" type="xml">
            <form string="Repairs">

            <sheet>
            <div class="oe_title">
                <label for="name" class="oe_edit_only"/>
                <group colspan="4" col="6">
                <h1><field name="x_partner_id" placeholder="Customer Name"/></h1>
                <field name="create_date"/>

                <h2>Priority<field name="priority"/></h2>

                </group>
                 <group colspan="4" col="6">
                         <field name="computer_make"/>
                     <field name="password" colspan="2"/>
                     <field name="items"/>
                 </group>

            </div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-10 07:07:21

当您不为您创建任何树时,odoo将为其创建一个树:

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

代码语言:javascript
复制
class ModelClass(models.Model):
     _name ="model.name"
    _rec_name = "field_name"

    field_name = fields.....

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

如果您的模型只需要一棵树进行各种用途,那么为它创建一棵树,odoo将始终调用它

如果您的模型可以为不同的many2many或one2many字段有多棵树,则可以这样做:

代码语言:javascript
复制
<field name="x2many_field_name" >
  <tree>
      <!-- your field here -->
  </tree>
 <form>
    <!-- costum form here -->
 </form>
</field>

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

代码语言:javascript
复制
_rec_name = "field_name"

<field name="x2many_field_name" widget="many2many_tags" />
票数 2
EN

Stack Overflow用户

发布于 2017-04-10 04:17:17

只需像下面这样更改字段“项目”

代码语言:javascript
复制
 <field name="items" widget="many2many_tags"/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43310410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档