日历视图中的odoo 10 Many2many字段

odoo 10 Many2many field in calendar view

我在 odoo 中创建了一个 many2many 字段,但是当我在日历视图中查看它时它显示了 id 但我想要显示名称。

字段定义为:

doctor = fields.Many2many('crm.account.doctor.line',
                          'crm_account_doctor_name',
                          'doctor_name','id', required=True)

XML:

<record id="doctor_calender" model="ir.ui.view"> 
  <field name="model">plan.new</field> 
  <field name="arch" type="xml"> 
    <calendar color="state" date_start="date" mode="month" quick_add="False" > 
      <field name="doctor" write_model="crm.account.doctor.line" write_field="doctor" avatar_model="crm.account.doctor.line"/> 
    </calendar> 
  </field>
</record>

我不知道有什么好方法可以满足您的要求。我要做的是用您要查找的显示字符串定义一个计算字段,并在视图中使用它。

display_doctor = fields.Char(string='Display String for doctor field',
                             compute='_compute_display_doctor')

def _compute_display_doctor(self):
   '''
   Compute the display string for the doctor field
   '''
   for record in self:
     display_str = ','.join(record.doctor.mapped('name'))
     record.display_doctor = display_str

然后在 xml 中您可以使用该字段而不是 many2many 版本。