1、在tree视图中:
<tree colors="decoration-muted:is_done==True">
colors="decoration-muted:is_done==True":把is_done=True的设置为灰色
2、odoo中定义搜索框
<field name="arch" type="xml">
<search>
<field name="name"/>
<filter string="Not Done" domain="[('is_done','=',False)]"/>
<filter string="Done" domain="[('is_done','!=',False)]"/>
</search>
</field>
3、条件筛选
domain = [('is_done', '=', True), '|', ('user_id', '=', self.env.uid), ('user_id', '=', False)]
这个过滤器表达式遵循称为domain的Odoo特定语法:它由条件组成的列表表示,其中每个条件是元组。这些条件默认是用逻辑与(And)连接起来的,即条件需要同时成立,如果不是默认逻辑连接符号比如“|”符号(逻辑或),则运算操作符会影响到其后面的两个操作数(即采用波兰表达式)我们将在第6章-视图 - 用户界面设计这一章讨论更多关于域的细节
这里的意思是,is_done=Trun或者不是当前用户或者当前记录
4、在现有的视图上加新的字段:
<xpath expr="//field[@name]='is_done'" position="before">
<field name="date_deadline" />
</xpath>
或者:
<field name="is_done" position="before">
<field name="date_deadline" />
</field>
after:将内容添加到父元素之中,匹配的节点之后。 before:添加内容在匹配节点之前。 inside(默认值):匹配节点内的追加内容。 replace:替换匹配的节点。如果使用空内容,它将删除该匹配的元素。从Odoo 10开始,它还允许用其他标记包装一个元素,通过在内容中使用$0来表示被替换的元素。 attributes:修改匹配元素的XML属性。在元素内容使用<attribute name =“attr-name”>实现给属性name设置新属性值attr-name。
5、odoo中模块的继承扩展:
from odoo import models
class TodoTask(models.Model):
_name = 'todo.task'
_inherit = 'mail.thread'
这通过将mail.thread模型中的特性复制到todo.task模型中来扩展它。
6、使用过表达式预设xml的值:
定义字段值的更精细的替代方法是eval属性。 它评估一个Python表达式并将结果值分配给字段。