图表视图用于在多个记录或记录组上可视化聚合视图。它的根元素是 ,可以有以下属性:
type
使用bar
(默认的), pie
和line
三个中的一个图表类型
stacked
仅用于 bar
图。如果展示并设置为 True
,则在一个组中显示大量柱形图
图表视图中唯一个允许的元素是field
,它有如下属性:
name
(必填的)
要在图形视图中使用的字段的名称。如果用于分组(而不是聚合)
type
指示是否应将字段用作分组标准或作为组中的聚合值。可能的值是:
row
(默认的)
按指定字段分组。所有图形类型都支持至少一个级别的分组,有些可能支持更多。对于透视视图,每个组都有自己的行。
col
仅用于透视表,创建列组。
measure
组内聚合的字段
interval
在日期和时间字段上,以指定的时间间隔(day
, week
, month
, quarter
或者year
) 而不是在特定的时间(固定在秒)或者日期(固定在天)分组。
警告
在数据库内容上执行图视图聚合,在图视图中不能使用非存储功能字段。
透视表透视表视图用于将可视化聚合数据作为一个透视表。它的根元素是,它有如下属性:
disable_linking
设置为True
,以删除到列表视图的表单元格的链接
display_quantity
设置为true
以默认显示数量列
在透视图视图中允许的元素与图视图相同。
看板看板视图是看板可视化:它将记录显示为“卡片”,介于列表视图和不可编辑窗体视图之间。记录可以按列中使用工作流可视化或操作(例如任务或工作进度管理)进行分组,或不分组(用简单的可视化记录)。
看板视图的根元素是 , 它可以使用如下属性:
default_group_by
如果没有通过动作或当前搜索指定分组,看板视图是否应该分组。应该是在没有分组指定的情况下分组的字段的名称
default_order
如果用户还没有对记录进行排序(使用列表视图),则使用卡片排序顺序
class
将HTML样式类添加到看板视图的根html元素中
group_create
是否“添加新列”栏是可见的或不可见的。默认值:true
group_delete
是否可以通过上下文菜单删除组。 默认值:true
group_edit
是否可以通过上下文菜单编辑组。 默认值: true
quick_create
是否可以在不切换到窗体视图的情况下创建记录。默认情况下,当看板视图已经分组时 quick_create
属性是可用的,而当看板视图没有分组时是不可用的。
设置为true
以启用它,而false
则总是禁用它
视图元素的可能子元素是:
field
声明在看板逻辑中使用的字段。如果字段只显示在看板视图中,它不需要预先声明。
可能的属性是:
name
(必须的)
要取的字段的名称
templates
定义了一系列qweb模板。为了清晰起见,卡片定义可以分成多个模板,但看板视图必须定义至少一个根模板kanban-box,它将一次呈现每个记录
看板视图使用主要标准是javascript qweb 并提供如下上下文内容变量:
instance
当前Web客户端实例
widget
当前KanbanRecord()
方法,可以获取一些元信息。这些方法也可以直接在模板上下文中使用,不需要通过widget访问
record
具有所有请求字段作为属性的对象。每一场有两个属性value
和 raw_value
, 前者是根据当前用户的参数格式化的,后者是从 read()
方法获得的直接值the (除了日期和时间字段是根据用户本地化设置格式化的)
formats
web.formats()
模块对一些值进行操作和转换
read_only_mode
自我解释
按钮和字段虽然大多数的看板模板是标准的QWeb,看板视图处理字段,按钮(field
, button
)和一个(a)特殊元素:
- 默认字段被它们的格式化值替换,除非它们匹配特定的看板视图小部件
-
带有 属性的按钮和链接适宜执行Odoo相关的操作而不是执行标准的HTML方法。可能的类型是:
action
,object
Odoo按钮为标准的行为,和标准的Odoo按钮相关的大多数属性可以被使用
open
以只读模式打开表单视图中的卡片记录
edit
以可编辑模式打开表单视图中的卡片记录
delete
删除卡片记录并删除卡片
class KanbanRecord()
Widget()
方法处理单个记录渲染为一个卡片。记录本身内可以用的部分渲染为模版上下文中的一个 widget
kanban_color(raw_value)
将颜色分割值转换为一个看板杨色样式类oe_kanban_color_color_index
。内置的css提供的样式类多达9个color_index
kanban_getcolor(raw_value)
将颜色分割值转换为颜色索引(默认情况下为0和9)。颜色分割值可以是数字或字符串
kanban_image(model, field, id[, cache][, options])
将指定字段的URL作为图像访问生成。
参数
- model (
String
) -- 图像的宿主模型 - field (
String
) -- 保存图像数据的字段的名称 - id -- 含有图片展示的记录标识符
- cache (
Number
) -- 应该覆盖浏览器默认的缓存持续时间(秒)。 0使整个缓存无效
返回
一个图片URL
警告
kanban_text_ellipsis
已经在 Odoo 9中删除, 由样式text-overflow
所代替。
日历视图将记录显示为每日、每周或每月日历中的事件。它们的根元素是 。日历视图中可用的属性:
date_start
(必须的)
记录该事件开始日期的记录字段的名称
date_stop
该记录的字段保持为事件结束日期的名字,如果提供 date_stop
属性,记录在日历中可直接移动的 (通过拖放)
date_delay
替换 date_stop
属性,提供一个时间的持续时间而不是日期结束时间
color
用于颜色分割的记录字段的名称。同一颜色段中的记录在日历中分配相同的高亮颜色,颜色是半随机分配的
event_open_popup
在对话框中打开事件,而不是切换到窗体视图,默认情况下禁用该窗体视图
quick_add
在单击时启用快速事件创建:只向用户请求一个name
,并尝试创建一个新事件,只需单击该事件和单击事件时间即可。如果快速创建失败,则返回到完整窗体对话框
display
用于事件显示的格式字符串,字段名称应在中括号[和]中
all_day
记录中的布尔字段的名称,指示相应事件是否被标记为长天数(且持续时间不相关)
mode
加载日历时的默认显示模式。 可能的值有: day
, week
, month
甘特图视图适当显示甘特图(用于调度)。
甘特图的根元素是 ,它没有子元素但有如下属性:
date_start
(必须的)
字段名称为每个记录通过事件的开始时间
date_stop
为每个记录提供事件结束持续时间的字段的名称。 可以被 date_delay
替换。date_stop
和 date_delay
中的一个(仅一个)必须被提供。
如果记录的字段是 False
,则它被认为是一个 "点事件"并且结束日期将被设置为开始日期
date_delay
提供时间持续时间的字段名称
duration_unit
minute
, hour
(默认), day
, week
, month
, year
中的一个
default_group_by
进行任务分组的字段名称
type
gantt
经典的甘特图视图 (默认的)
consolidate
在甘特图的任务中巩固了第一个孩子的合并值
planning
显示在甘特图的任务中的计划子项
consolidation
显示记录单元格中的合并值的字段名
consolidation_max
使用“分组”字段作为键和在显示红色单元格之前可达到的最大联合值作为值的字典(例如{"user_id": 100}
)
警告
该字典的定义必须使用双引号,{'user_id': 100}
不是一个有效的值
string
要在合并值旁边显示的字符串,如果未指定,将使用合并字段的标签
fold_last_level
如果设置了一个值,则最后一个分组级别将折叠。
round_dnd_dates
使任务的开始和结束日期舍入到最近的刻度
drag_resize
任务大小调整,默认是true
可以使用图视图显示记录的有向图。根元素是,不接受任何属性。
图视图中的可能子元素是:
node
(必须的, 1)
定义图的节点。它的属性是:
object
节点的Odoo模型
shape
与列表视图中的颜色和字体相似的条件形状映射。 唯一有效的形状是 rectangle
(默认形状是不规则形状)
bgcolor
与shape相同,但有条件地为节点绘制背景颜色。默认的背景颜色是白色,唯一有效的替代颜色是grey
arrow
(必须, 1)
定义图的定向边。它的属性有:
object
(必须)
边缘的Odoo模型
source
(必须)
边缘模型的Many2one
字段制定边缘元节点记录
destination
(必须)
边缘模型的Many2one
字段制定边缘目标节点记录
label
Python属性列表(如引用字符串)。相应属性的值将被连接并显示为边缘的标签
label
图的解释性说明,string属性定义注释的内容。每个label都作为图标题中的一段输出,很容易看到,但没有任何特别的强调。
搜索搜索视图与以前的视图类型不同,它们不显示内容:虽然它们应用于特定的模型,但它们用于过滤其他视图的内容(一般是聚合视图,如列表视图或图表视图)。除了用例的不同之外,它们的定义方式相同。
搜索视图的根元素是 ,它没有属性。
搜索视图的可能子元素是:
field
字段定义具有用户提供值的域或上下文。当生成搜索域时,字段域相互之间组合并通过使用AND进行过滤。
字段可以具有以下属性:
name
要筛选的字段的名称
string
字段标签内容
operator
默认情况下,字段生成表单的域 [(name, operator, provided_value)]
中name
是字段的名字,并且provided_value是用户提供可能是过滤的或者转换的值(例如一个月用户预计提供一个选择字段值的标签,而不是值本身)。
operator
属性允许重写默认的依赖字段类型的操作符(例如 =
适用浮点字段但是 ilike
使用字符字段)
filter_domain
作为域的搜索域使用完整的域,可以使用self
变量在自定义域中注入所提供的值。 可以用来比单独的operator
生成更灵活的域(例如一次搜索多个字段)
如果operator
和filter_domain
同时提供, filter_domain
优先使用。
context
允许添加上下文的键,包括用户提供的值(关于 domain
作为一个self变量可用的)。 默认情况下,字段不会生成域
注
域和上下文是包容的,如果指定了context
,两者都会生成。仅生成上下文值,设置filter_domain为一个空列表: filter_domain="[]"
groups
使字段只对特定用户可用
widget
为字段使用特定的搜索小部件 (在标准的Odoo 8.0中唯一的用例是Many2one
字段的一个selection小部件)
domain
如果该字段可以提供自动完成(例如 Many2one
), 过滤可能的完成结果
filter
过滤器在搜索视图中是一个预定义的切换,它只能启用或禁用。它的主要目的是向搜索上下文添加数据(传递到数据视图的上下文以搜索/过滤),或者向搜索过滤器追加新的部分。
过滤器有如下属性:
string
(必须的)
过滤器的标签
domain
一个Odoo域,将追加一个动作域作为搜索域的一部分
context
合并到动作域中生成搜索域的Python字典
name
逻辑名为筛选器,可用于默认启用它,也可以用作继承挂钩
help
过滤器的较长解释文本可以显示为工具提示
groups
使过滤器只对特定用户可用
提示
版本7.0中的新地方。
序列滤波器(无过滤器分离)作为含复合:它们将由OR
而不是通常的AND组成
如果选择了两个筛选器,则将选择其state
是draft
或done的记录,但是
如果选择了两个筛选器,则将选择其state为draft且delay小于15的记录。
separator
可用于在简单搜索视图中分隔组筛选器
group
可用于分隔组过滤器,比复杂搜索视图中的separator更具可读性
默认搜索搜索领域和过滤器可以通过使用search_default_name键的动作context
来配置。 对于字段,值应该是字段中设置的值,对于筛选器,它是布尔值。例如, 假定一个动作上下文中foo
是字段且 bar
是过滤器:
{
'search_default_foo': 'acro',
'search_default_bar': 1
}
将自动启用bar
过滤器并为acro搜索foo
qweb视图是标准的qweb模板内部视图的视图。它们没有特定的根元素。
一个qweb视图可以只包含一个单一的模版,并且模板的名称必须匹配视图的完整(包括模块名称)外部ID。
模版应该作为一个定义QWeb视图的快捷方式使用。
ps:有翻译不当之处,欢迎留言指正。
原文地址:https://www.odoo.com/documentation/10.0/reference/views.html