第三节 ODOO开发教程之基本字段属性
作者:互联网
点击跳转进入免费课程(课程持续更新中…)
课件文档地址:点击跳转
课程环境地址:点击跳转 账密:testuser
gitee代码地址:点击跳转(分支learning_odoo12)
微信公众号二维码:
1 自己定义一个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>
2 search视图定义,预置快捷搜索、快捷筛选、快捷分组
<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使用
3 Boolean类型字段定义
fields.Boolead()
4 Many2one字段类型使用
user_id = fields.Many2one(‘res.users’),参数为目标模型名称
5 Text字段类型使用
note = fields.Text(), 文本类型字段
6 字段基本属性readonly,required,invisible,attrs
readonly 只读
required 必填
invisible 隐藏
attrs根据条件动态设置字段属性,attrs=’{‘invisible’: [(‘is_ill’, ‘=’, True)], ‘required’: [(‘is_ill’, ‘=’, False)]}’
7 字段默认值
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)
标签:教程,第三节,default,fields,ill,required,ODOO,invisible,跳转 来源: https://blog.csdn.net/weixin_34749051/article/details/112801691