Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Odoo多2多选择字段_Python_Python 2.7_Openerp_Odoo 9 - Fatal编程技术网

Python Odoo多2多选择字段

Python Odoo多2多选择字段,python,python-2.7,openerp,odoo-9,Python,Python 2.7,Openerp,Odoo 9,我正在尝试在Odoo9中创建一个选择字段。我可以添加一个项目,但它不保存名称,只保存创建该项目的用户的名称 我的model.py看起来像 from openerp import models, api, fields class ComputerItems(models.Model): _name = "notebook" items_computer = fields.Char("Items") ds_items = fields.Char("Items") c

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

我的model.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')
My model.xml

<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>

表
修复
优先

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


当您不为自己创建任何树时,模型odoo将为其创建一个costum树:

首先,他将检查属性
\u rec\u name
的值。rec\u name包含默认情况下表示记录的字段名
\u rec\u name=“name”
,因此odoo将查找名为
name
的字段。如果该字段存在,odoo将创建一个包含一个字段的树。但与您的情况类似,您的模型没有名为odoo的字段,它将创建一个带有
create\u uid
的树。为了告诉odoo从另一个字段创建树,您需要更改_rec_name的值

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

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

如果您的模型在所有类型的使用中只需要一棵树,那么为它创建一棵树,并且odoo将始终调用它

如果您的模型可以为不同的多个或多个字段设置多棵树,则可以执行以下操作:

<field name="x2many_field_name" >
  <tree>
      <!-- your field here -->
  </tree>
 <form>
    <!-- costum form here -->
 </form>
</field>

谢谢你的帮助。
<field name="x2many_field_name" >
  <tree>
      <!-- your field here -->
  </tree>
 <form>
    <!-- costum form here -->
 </form>
</field>
_rec_name = "field_name"

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