# 核心业务

# 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属性通过外部文件提供,也可以通过节点的主体提供。可用的类型有:xmlhtml将子项提取field为单个文档,评估使用表单指定的任何外部标识 (opens new window)%(external_id)s%%可用于输出实际*%*符号。file确保字段内容是当前模型中的有效文件路径,将该对保存为字段值*module*,*path*``char将字段内容直接设置为字段的值而不进行任何更改base64base64 (opens new window) - 对字段的内容进行编码,与该file 属性结合使用,例如将图像数据加载到附件中int将字段的内容转换为整数并将其设置为字段的值float将字段的内容转换为浮点数并将其设置为字段的值listtuple应包含任意数量的value具有相同属性的元素field,每个元素解析为生成的元组或列表的项,并将生成的集合设置为字段的值

  • eval

    对于以前的方法不适合的情况,eval 属性只是评估它提供的任何Python表达式,并将结果设置为字段的值。评估上下文包含的各种模块(timedatetimetimedeltarelativedelta),解决了函数外部标识符 (opens new window)ref)和如果适用的当前场中的模型对象(obj

# delete

delete标签可以删除先前定义的任何数量的记录。它具有以下属性:

id并且search是独家的

# function

function标签调用模型,以及提供的参数的方法。它有两个必需参数modelname分别指定要调用的方法的模型和名称。

可以使用eval(应该评估一系列参数来调用方法)或value元素(参见list 值)来提供参数。

# workflow

workflow标签将信号发送到一个现有的工作流程。可以通过ref属性(现有工作流的外部标识 (opens new window))或value返回工作流的标识的标记来指定工作流。

标签还具有两个必需属性model(链接到工作流的模型)和action(要发送到工作流的信号的名称)。

# 快捷键

由于Odoo的一些重要结构模型很复杂且涉及,因此数据文件提供了使用记录标记 (opens new window)定义它们的更短替代方法 :

定义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

    菜单项的外部ID (opens new window)

# template

创建一个 (opens new window)需要视图 (opens new window)arch 部分的QWeb视图 (opens new window),并允许一些可选属性:

  • id

    视图的外部标识符 (opens new window)

  • nameinherit_idpriority

    与相应字段相同ir.ui.view(nb:inherit_id 应该是外部标识符 (opens new window)

  • primary

    如果设置为True并与a组合inherit_id,则将视图定义为主要视图

  • groups

    逗号分隔的组外部标识符 (opens new window)列表

  • page

    如果设置为"True",则模板是网站页面(可链接到,可删除)

  • optional

    enabled或者disabled,是否可以禁用视图(在网站界面中)及其默认状态。如果未设置,则始终启用视图。

# report

创建ir.actions.report.xml具有几个默认值的记录。

通常只是代理属性到相应的字段 ir.actions.report.xml,但也会自动在报告的“ 更多”菜单中创建项目 model