添加列表和搜索视图

来自Odoo大V社-odoo中文开发手册
跳转至: 导航搜索

在列表模式下查看模型时,将使用<tree>视图。 树视图能够显示按层级结构组织的行,但大多数时候,它们用于显示简单列表。
我们可以将以下树视图定义添加到 todo_view.xml:

<record id="view_tree_todo_task" model="ir.ui.view"> 
 <field name="name">To-do Task Tree</field> 
 <field name="model">todo.task</field> 
 <field name="arch" type="xml"> 
   <tree decoration-muted="is_done==True"> 
     <field name="name"/> 
     <field name="is_done"/> 
   </tree> 
 </field> 
</record>

这将定义一个只有两列的列表:name和is_done。 我们还添加了一个很好的交互界面:已完成任务的行(is_done == True)会显示成灰色。 这是通过应用Bootstrap类完成的。
有关Bootstrap及其上下文颜色的更多信息,请参阅http://getbootstrap.com/css/#helper-classes-colors
在列表的右上角,Odoo显示一个搜索框。 它搜索的字段和可用的过滤器是由<search>视图定义的。
和前面一样,我们将它添加到todo_view.xml:

<record id="view_filter_todo_task" model="ir.ui.view"> 
 <field name="name">To-do Task Filter</field> 
 <field name="model">todo.task</field> 
 <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> 
</record> 

<field>元素定义了在搜索框中输入时也能搜索的字段。 <filter>元素添加了预定义的过滤条件(过滤条件可以通过用户点击来切换),是使用特定语法来定义的。

上一节:完整的Form视图
下一节:业务逻辑层