# 核心业务
# record
record 适当地定义或更新数据库记录,它具有以下属性:
model(需要)要创建(或更新)的模型的名称
id此记录的外部标识符 (opens new window)。强烈建议提供一个对于记录创建,允许后续定义修改或引用此记录对于记录修改,要修改的记录
context创建记录时使用的上下文
forcecreate在更新模式下,是否应该创建记录(如果它不存在)需要外部ID (opens new window),默认为
True。
# field
每条记录都可以由field标签组成,定义创建记录时要设置的值。record没有的A field将使用所有默认值(创建)或不执行任何操作(更新)。
A field具有必需name属性,要设置的字段的名称以及定义值本身的各种方法:
没有
如果没有为该字段提供值,
False则将在该字段上设置隐式。可用于清除字段,或避免使用字段的默认值。search对于关系领域 (opens new window),应该是一个域 (opens new window)场上的模型。将评估域,使用它搜索字段的模型,并将搜索结果设置为字段的值。如果字段是a,则仅使用第一个结果
Many2one(opens new window)ref如果
ref提供了属性,则其值必须是有效的 外部标识 (opens new window),该标识 (opens new window)将被查找并设置为字段的值。主要用于Many2one(opens new window)和Reference(opens new window)领域type如果
type提供了属性,则用于解释和转换字段的内容。字段的内容可以使用file属性通过外部文件提供,也可以通过节点的主体提供。可用的类型有:xml,html将子项提取field为单个文档,评估使用表单指定的任何外部标识 (opens new window)%(external_id)s。%%可用于输出实际*%*符号。file确保字段内容是当前模型中的有效文件路径,将该对保存为字段值*module*,*path*``char将字段内容直接设置为字段的值而不进行任何更改base64base64 (opens new window) - 对字段的内容进行编码,与该file属性结合使用,例如将图像数据加载到附件中int将字段的内容转换为整数并将其设置为字段的值float将字段的内容转换为浮点数并将其设置为字段的值list,tuple应包含任意数量的value具有相同属性的元素field,每个元素解析为生成的元组或列表的项,并将生成的集合设置为字段的值eval对于以前的方法不适合的情况,
eval属性只是评估它提供的任何Python表达式,并将结果设置为字段的值。评估上下文包含的各种模块(time,datetime,timedelta,relativedelta),解决了函数外部标识符 (opens new window)(ref)和如果适用的当前场中的模型对象(obj)
# delete
该delete标签可以删除先前定义的任何数量的记录。它具有以下属性:
model(需要)应删除指定记录的模型
id要删除的记录的外部标识 (opens new window)
search一个域, (opens new window)用于查找要删除的模型的记录
id并且search是独家的
# function
该function标签调用模型,以及提供的参数的方法。它有两个必需参数model,name分别指定要调用的方法的模型和名称。
可以使用eval(应该评估一系列参数来调用方法)或value元素(参见list 值)来提供参数。
# workflow
该workflow标签将信号发送到一个现有的工作流程。可以通过ref属性(现有工作流的外部标识 (opens new window))或value返回工作流的标识的标记来指定工作流。
标签还具有两个必需属性model(链接到工作流的模型)和action(要发送到工作流的信号的名称)。
# 快捷键
由于Odoo的一些重要结构模型很复杂且涉及,因此数据文件提供了使用记录标记 (opens new window)定义它们的更短替代方法 :
# menuitem
定义ir.ui.menu具有多个默认值和回退的记录:
父菜单
如果
parent设置了属性,则它应该是 另一个菜单项的外部ID (opens new window),用作新项的父项如果未parent提供,则尝试将该name属性解释为/分离的菜单名称序列,并在菜单层次结构中查找位置。在该解释中,自动创建中间菜单否则菜单被定义为“顶级”菜单项(不是没有父项的菜单)菜单名称
如果未
name指定任何属性,则尝试从链接的操作中获取菜单名称(如果有)。否则使用记录id组
甲
groups属性被解释为逗号分隔的序列 外部标识符 (opens new window)为res.groups模型。如果 外部标识符 (opens new window)以减号(-)为前缀,则该组将从菜单的组中删除action如果指定,则该
action属性应该是 菜单打开时要执行的操作的外部id (opens new window)id
# template
创建一个只 (opens new window)需要视图 (opens new window)arch 部分的QWeb视图 (opens new window),并允许一些可选属性:
idname,inherit_id,priority与相应字段相同
ir.ui.view(nb:inherit_id应该是外部标识符 (opens new window))primary如果设置为
True并与a组合inherit_id,则将视图定义为主要视图groups逗号分隔的组外部标识符 (opens new window)列表
page如果设置为
"True",则模板是网站页面(可链接到,可删除)optionalenabled或者disabled,是否可以禁用视图(在网站界面中)及其默认状态。如果未设置,则始终启用视图。
# report
创建ir.actions.report.xml具有几个默认值的记录。
通常只是代理属性到相应的字段 ir.actions.report.xml,但也会自动在报告的“ 更多”菜单中创建项目 model。