odoo 基础数据加载

这里介绍的odoo基础数据加载分两种方式,一种是演示数据加载,一种是默认数据加载,下面就是详细介绍

首先,当然是创建一个date文件夹

  • 项目目录,右键自定义一个文件夹

XML数据定义格式

    <record id="building_type0" model="building.document.folder">
        <field name="name">局集团党委文件</field>
    </record>

    <record id="activity_type1" model="building.document.folder">
        <field name="name">总支部文件</field>
    </record>

     <record id="building_type2" model="building.document.folder">
        <field name="name">支部文件</field>
    </record>
  • model里填 modelclass 的 _name 值
  • id里填外部标识(external-identifier),是odoo中用来标注某条数据库记录的唯一标示符
  • 注意:可以在web设置里查看所有的外部标识。

内部field就是定义具体记录的列名和值,可以有多个列,如下:

    <record id="documents_hr_documents_facet" model="documents.facet">
        <field name="name">Documents</field>
        <field name="sequence">6</field>
        <field name="folder_id" ref="documents_hr_folder"/>
    </record>

     <record id="documents_internal_template_facet" model="documents.facet">
        <field name="name">Templates</field>
        <field name="sequence">6</field>
        <field name="folder_id" ref="documents_internal_folder"/>
     </record>

数据文件需在__manifest__.py data或demo字段里列出,才能在模块安装更新后正确的加载

'data': [
    'security/security.xml',
    'security/ir.model.access.csv',
    'assets.xml',
    'views/views.xml',
    'views/templates.xml',
    'data/building_data.xml',
],

# 
'demo': [
    'demo/demo.xml',
],
  • demo数据只在勾选演示数据后才会加载(only loaded in demonstration mode)
  • data数据在系统启动后会自动进行加载(always loaded)

玄机
35 声望12 粉丝

希望来这里认识更多志同道合的朋友,大家一起交流学习!