ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第三节 ODOO开发教程之基本字段属性

2021-01-19 10:57:32  阅读:506  来源: 互联网

标签:教程 第三节 default fields ill required ODOO invisible 跳转


点击跳转进入免费课程(课程持续更新中…)
课件文档地址:点击跳转
课程环境地址:点击跳转 账密: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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有