2017-04-09 56 views
0

我想在Odoo9創建一個選擇欄。我可以添加一個項目,但它不保存名稱只是創建它的用戶的名稱。Odoo許多2個多選擇域

enter image description here

我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') 

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

回答

1

當您不產生任何樹,你的模型odoo會爲它創建一個costum樹:

首先,他將檢查屬性_rec_name的.rec_name包含代表字段的名稱值記錄默認爲_rec_name = "name",所以odoo會查找名爲name的字段(如果存在),odoo會創建一個帶有一個字段的樹。但是就像在你的情況下你的模型沒有一個名字爲odoo的字段將會創建一個create_uid的樹。爲了告訴odoo從另一個字段創建樹更改_rec_name的價值

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

    field_name = fields..... 

這是件好事,當你的模型只有一個領域,但是當你的模型有一個以上的領域,你有兩個選擇

如果你的模型只需要一棵樹,所有類的用法爲它創建了一棵樹,odoo總是會調用它

如果你的模型可以有不同勢many2many或one2many場多樹,你可以這樣做:

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

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

_rec_name = "field_name" 

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

由於謝里夫幫助很大。 – user2379186

+0

你歡迎^^跳這對你有幫助 – Cherif

0

只要改變像下面的字段'項目'

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