2.基本视图
True

视图定义了模型数据如何显示, 每种类型的视图代表一种数据可视化模式.

视图的继承允许在其他位置声明更改视图(添加或者移除内容)。

2.1 基本的视图定义

一个视图是以一条ir.ui.view模型数据的形式定义的,视图类型在arch字段的根元素中定义:

已复制

注意:视图的内容是XML。字段arch因此必须被声明为type="xml"以方便正确解析。

2.2 Tree views

Tree view也被称为list views, 在一个表格中显示记录. 根元素是, 最简形式的tree view只是简单地列出每条记录的多个字段, 每个字段为一列.

已复制

2.3 Form views

Form用于创建或编辑单条记录, 根元素是<form>,由结构元素(groups,notebooks)和交互元素(button,fields)组成。

已复制

练习

#使用XML定制窗体视图
建立课程对象的表单视图,显示课程的名称和描述字段。

openacademy/views/openacademy.xml


已复制

练习

#notebook结构元素
在课程的表单视图中,将描述字段放在一个选项卡中,然后再添加选项卡放置其它字段。在course视图的form视图中添加以下代码,修改后的课程表单视图如下:

openacademy/views/openacademy.xml


已复制
在Course的表单视图中,在页签(page)中放置描述字段,以便之后添加别的页签,包含其他的信息。
                    

表单视图也可以使用纯HTML来进行更灵活的布局,这里在添加button之前先添加state属性,它的方法类似以下代码:

state = fields.Selection([

        ('draft', 'Not Confirmed'),

        ('done', 'Confirmed'),

    ], string='Status', index=True, readonly=False, copy=False, default='draft')


已复制

2.4 Search Views

搜索视图可对列表视图(或者其它聚合视图)中的字段进行搜索。搜索视图的根元素是<search>,内容包含所有可以搜索的字段。


已复制
如果在模型中没有定义搜索视图,Odoo会生成一个只包含name字段的搜索视图。

练习

#搜索课程
通过标题和描述来搜索课程。

openacademy/views/openacademy.xml


已复制



10.记录集和环境
True