1 2 3 4

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>

 

 

posted @ 2022-04-09 09:39  I我的博客I  阅读(140)  评论(0编辑  收藏  举报