odoo之onchange、约束、高级视图

来源:互联网 发布:as3.0 外部js接口 编辑:程序博客网 时间:2024/06/06 20:03
默认值
name = fields.Char(default="Unknown")
user_id = fields.Many2one('res.users', default=lambda self: self.env.user)

self.env可以是请求的参数或者其他
self.env.cr或self._cr是数据库游标对象,用于查询数据库
self.env.uid是当前用户的数据库id
self.enc.user当前用户的记录
self.env.context或self._context是上下文字典
self.enc.ref(xml_id)返回xml的id的记录
self.env[model_name]返回给的模型的实例


Onchange

"onchange"机制给用户接口提供更新表单的方法,使用户在不用向数据库中添加数据的情况下刷新字段值


约束

Python约束
通过方法实现


SQL约束

通过模型属性_sql_constraints定义,指向3字段的字符串(name,sql_definition,message),其中name是有效的SQL约束名,sql_definition是table_constraint表达式,message是弹出的错误信息。


高级视图
tree视图
tree视图可以补充属性来进一步定义行为
colors:条件为True,应用颜色
<tree string="Idea Categories" colors="blue:state=='draft';red:state=='trashed'">
    <field name="name"/>
    <field name="state"/>
</tree>
不同条件通过“;”分开,条件和颜色通过“:”分开


editable:值为“top”或“bottom”
使tree视图不用通过表单视图直接编辑,值为新的行的位置


calendar视图
把记录以日历时间显示。一些属性:
color
date_start
date_stop(optional)




search视图
字段中有一个@filter_domain,可以重写搜索给定字段的域,。
search视图可以包含filter,切换预定义搜索,filter有以下属性:
domian:在当前搜索中添加给定域
context:对当前搜索添加一些上下文,通过关键字group_by得到给定字段的结果集


使用非默认搜索视图的一个动作,它应该使用search_view_id字段的操作记录。
动作还可以搜索字段通过其上下文字段设置默认值:上下文的键形式search_default_field_name将初始化field_name提供价值。搜索过滤器必须有一个可选的@ name违约,像布尔值(他们只能默认启用)。


要用非默认的search视图,应该用action的search_view_id字段
action还可以通过context字段设置搜索字段的默认值,


Gantt视图
条形图,通常用于显示项目进度


Graph视图(图表)
用于显示统计的图标
有四种显示模式
Pivot:多维的表。允许过滤器
0 0