Odoo 10 Learnodoo 10 中文文档odoo

odoo V10中文参考手册(二:数据文件)

2017-04-10  本文已影响641人  XiaoHaiYang

结构

odoo通过xml文件来定义数据,xml文件内容由odoo标签包含的元素组成

<!-- the root elements of the data file -->
<odoo>
  <operation/>
  ...
</odoo>

核心操作

record

定义或更新一条数据库记录,有以下属性:

model (required) -- 需要创建或更新的model名称
id -- 记录的唯一识别符
context -- 新增记录时使用的环境
forcecreate -- 在更新模式下如果记录不存在自动创建,需要指定id,默认该值为True

field

每条记录可由多个field标签组成,当新增记录时用来定义值。如果一条记录没有任何field,在进行更新时是不触发任何操作的,在新增记录时会全部使用默认值。每个field必须有name属性,指定对应哪个字段。
如果field的值被设置为空,会自动给一个False,来清空该字段或者避免使用默认值

delete

delete标签可以删除所定义的任意数量的记录,有以下几个属性:

function

function标签会调用model的指定方法,有两个必选参数:model(模型名)和methon(函数名)

workflow

workflow标签会给已存在的工作流传递一个信号,可以通过ref属性指定对应id的一个工作流,或一个value属性返回一个工作流的id,该标签也有两个必选参数:model(与工作流相关联的模型)和action(发送给工作流的信号)

快捷方法

由于odoo的部分重要构造的方法比较复杂难懂,数据文件可以在record里通过比较简便的的方式来使用它们

menuitem -- 定义一条ir.ui.menu记录

template

创建一个QWeb视图,只需要一个arch元素并包含以下的属性:

report

使用默认值创建一条ir.actions.report.xml记录,大部分情况下只代替ir.actions.report.xml对应字段的属性,同时也会自动在more菜单里创建一个指向report对应model的项目

CSV数据文件

XML文件比较易读,但是在用来在单个模型中创建大量记录时会变得很冗长,所以数据文件也可以使用csv文件来定义,一般用来定义模型的约束

文件名是model_name.csv,第一行列出被改变的字段名(须有一个id作唯一识别),每行创建一条新记录,如:

#res.country.state.csv

"id","country_id:id","name","code"
state_au_1,au,"Australian Capital Territory","ACT"
state_au_2,au,"New South Wales","NSW"

#第一列是唯一的id,第二列是关联的country对象的id,第三四列是state模型的name和code

译自odoo官方文档:http://www.odoo.com/documentation/10.0/reference/data.html,不当之处欢迎批评指正


内容发布自http://www.jianshu.com/u/6fdae8ec06bc,转载请注明出处

上一篇 下一篇

猜你喜欢

热点阅读