others linux服务器运维 django3 监控 k8s golang 数据库 大数据 前端 devops 理论基础 java oracle 运维日志

odoo12 字段属性

访问量:1639 创建时间:2021-07-12

文档来源:http://www.odoodev.cn/ ;https://www.bilibili.com/video/BV1m54y167ET?p=2&spm_id_from=pageDriver

自己定义一个form视图

<record id="epidemic_record_form_view" model="ir.ui.view">
        <field name="name">疫情记录</field>
        <field name="model">epidemic.record</field>
        <field name="arch" type="xml">
            <form>
                <sheet>
                    <group>
                        <group>
                            <field name="name" string="姓名" required="1"/>
                            <field name="is_ill" string="是否确诊"/>
                            <field name="within_or_abroad" string="境内/境外" required="1"/>
                            <field name="begin_lsolation_date" string="起始隔离日期" attrs="{'required': [('is_ill', '=', False)], 'invisible': [('is_ill', '=', True)]}"/>
                            <field name="lsolation_mode" string="隔离方式" attrs="{'required': [('is_ill', '=', False)], 'invisible': [('is_ill', '=', True)]}"/>
                            <field name="ill_type" string="感染方式" attrs="{'required': [('is_ill', '=', True)], 'invisible': [('is_ill', '=', False)]}"/>
                            <field name="date" string="确诊日期" attrs="{'required': [('is_ill', '=', True)],  'invisible': [('is_ill', '=', False)]}"/>
                        </group>
                        <group>
                            <field name="state" string="省" required="1"/>
                            <field name="city" string="市" required="1"/>
                            <field name="county" string="区/县"/>
                            <field name="street" string="具体地址" required="1"/>
                            <field name="create_user_id" string="填报人" readonly="1"/>
                        </group>
                    </group>
                    <notebook>
                        <page string="说明">
                            <field name="note" placeholder="其他信息"/>
                        </page>
                    </notebook>
                </sheet>
            </form>
        </field>
    </record>
    <record id="epidemic_record_search_view" model="ir.ui.view">
        <field name='name'>疫情记录</field>
        <field name="model">epidemic.record</field>
        <field name="arch" type="xml">
            <search>
                <field name="name"/>
                <field name="state"/>
                <filter string="已确诊" name="is_ill" domain="[('is_ill', '=', True)]"/>
                <filter string="未确诊" name="is_ill" domain="[('is_ill', '=', False)]"/>
<!--                <filter string="Confirmed Orders" name="confirmed" domain="[('state', 'in', ['sale', 'done'])]"/>-->
                <group expand="1">
                    <filter string="是否确诊" name="is_ill" context="{'group_by': 'is_ill'}"/>
                    <filter string="填报人" name="create_user_id" context="{'group_by': 'create_user_id'}"/>
                </group>
            </search>
        </field>
    </record>

增加快捷搜索使用field标签 增加快捷筛选使用 filter标签,搭配domain属性 增加快捷分组使用filter标签,搭配context使用

Boolean类型字段定义

fields.Boolead()

Many2one字段类型使用

user_id = fields.Many2one(‘res.users’),参数为目标模型名称

Text字段类型使用

note = fields.Text(), 文本类型字段

字段基本属性readonly,required,invisible,attrs

readonly 只读 required 必填 invisible 隐藏 attrs根据条件动态设置字段属性,attrs=’{‘invisible’: [(‘is_ill’, ‘=’, True)], ‘required’: [(‘is_ill’, ‘=’, False)]}’

字段默认值

default属性可以是固定的值,也可以是哦一个函数(根据需求以及字段类型)

default=’value’

default=_default_fields_value def _default_fields_value(self) return value create_user_id = fields.Many2one(‘res.users’, string=’创建人’, default=lambda: self, self.env.uid)

登陆评论: 使用GITHUB登陆