fields.Many2one('模型名', string='Project', required=True, ondelete='cascade')
ondelete='cascade'级联: 意思是关联模型的记录删除了,本模型的记录也会删除
使视图上的值不可编辑:
<field name="字段名" attrs="{'readonly':[('字段名','判断运算符','记录值')]}/>
要去除Many2one字段的“创建并编辑”选项,只要在view.xml里对应的field定义里增加options="{'no_create_edit':1}即可
在form中设置状态栏
<header>
<field name="字段名" widget="statusbar"/>
</header>
<!--widget="statusbar"是头部状态条标签-->
<!--
widget的一些内置
widget="statusbar":头部状态条标签
widget="email":电子邮件地址标签
widget="selection" :下拉选择标签
widget="mail_followers" :关注者标签
widget="mail_thread" :消息标签
widget="progressbar" :进度条,按百分比标签
widget="one2many_list" :一对多列表标签
widget="many2many_tags": 多对多显示标签
widget="url" :网站链接标签
widget='image' :图片标签
widget="many2many_kanban": 看板标签
widget="handler" :触发标签
widget="radio" :单选标签
widget="char_domain" :字符域标签
widget="monetary" :价格(和精度位数相关)标签、金额标签
widget="float_time" :单精度时间标签
widget="html": html相关标签
widget="pad" :pad显示相关标签
widget="date": 日期标签
widget='text' :文本标签
widget="sparkline_bar": 燃尽标签
widget="checkbox" :复选框标签
widget="reference" :关联标签
-->
设置约束判断并抛出异常
@api.multi
def 方法名(self):
for record in self:
if not record.字段名:
raise ValidationError("提示语: %s" % record.某个字段)
关于分组的行与列:
<group col="1"><!--意思是此分组只有一列-->
</group>
tree中直接编辑:
<tree editable="bottom">
当前用户
self.env.user
当前用户id
self.env.uid
当前语言代码
self.env.lang
当前数据库连接
self.env.cr
Environment用途示例
利用 env[model] 获取模型类对象
self.env['ir.model'].search([('state', '!=', 'manual')])
利用 env.cr 执行sql语句
self.env.cr.execute(query, (value,))
<tree decoration-danger="selection字段=='blocked'"
decoration-success="selection字段e=='done'">
tree中的两个属性:decoration-danger爆红,decoration-success爆绿