Odoo----from视图中显示每条记录的名称
截止到目前,我们Hospital模块的Patient数据显示在Form上有点奇怪,就是在标题栏位显示出来的是Odoo保存的这条记录的自动编号(hospital.patient,1),这个就不太友好和直观了。
我们通常的做法是显示病人的姓名,或者说显示名称,因为中国公司里面外国人越来越多,有的人证件上的名字又20个字符那么长,但是他们通常用简称,像Odoo这样的系统就很好的提供了这种支持, 首先要升级一下patient.py代码,增加一个patient_disp_name并赋给Odoo的一个系统字段_rec_name,该字段负责显示Form的标题栏
# -*- coding: utf-8 -*- from odoo import models, fields class HospitalPatient(models.Model): _name = 'hospital.patient' _description = 'Patient Record' _rec_name= 'patient_disp_name' patient_name = fields.Char(string='Name', required=True); # 必填字段 patient_age = fields.Integer(string='Age'); notes = fields.Text(string='Notes'); image = fields.Binary(string='Image'); patient_disp_name = fields.Char(string='Patient Display Name'); # patient在标题栏的显示信息
然后把新字段添加到Form配置,我们直接把patient_disp_name放在patient_name下面了
ame下面了
<!-- Patient Form --> <record id="patient_form" model="ir.ui.view"> <field name="name">hospital.patient.form</field> <field name="model">hospital.patient</field> <field name="arch" type="xml"> <form string="Patients"> <sheet> <group> <group> <field name="patient_name"/> <field name="patient_disp_name"/> </group> <group> <field name="patient_age"/> </group> <group> <field name="notes"/> <field name="image"/> </group> </group> </sheet> </form> </field> </record>