odoo视图相关信息记录学习
数据文件:
Odoo是数据驱动的,因此模块定义的很大一部分是数据驱动的它管理的各种记录的定义:UI(菜单和视图),安全性(访问权限和访问规则)、报表和普通数据均通过记录定义。
在Odoo中定义数据的主要方法是通过XML数据文件 XML数据文件的格式如下:
<!-- the root elements of the data file --> <?xml version="1.0" encoding="UTF-8"?> <odoo> <operation/> ... </odoo>
如果预期数据文件的内容不会发生变动,则可以将odoo标志“noupdate”设置为1。只在 -i 安装的时候加载,后续就算xml内容变动了 也不会更新:
<odoo>
<data noupdate="1">
<!-- Only loaded when installing the module (odoo-bin -i module) -->
<operation/>
</data>
<!-- (Re)Loaded at install and update (odoo-bin -i/-u) -->
<operation/>
</odoo>
record 标志用于定义或更新数据库记录,它具有以下属性:
eg:
<record forcecreate="True" id="decimal_payment" model="decimal.precision"> <field name="name">Payment Terms</field> <field name="digits">6</field> </record>
<function model="account.move" name="_onchange_partner_id" context="{'check_move_validity': False}"> <value eval="[ref('demo_invoice_6')]"/> </function>
model(必须): 要创建(或更新)的模型的名称: 回头把xml信息写入对应的表里面
id: 记录的外部标识符 用来进行数据的创建与更新 也是数据更新与否的参考主键,相关信息存放在 ir_model_data 表里面
context: 创建记录时要使用的上下文
forcecreate: 在更新模式下,如果记录不存在,创建记录: 需要 `external id`,默认为 True
context: 创建记录时使用的上下文, 个人猜测用传递的值作为判断条件 进行特殊处理,暂未遇到过
field:

浙公网安备 33010602011771号