### 數據文件
Odoo是一個高度數據驅動系統. 雖然行為是定制的使用 [Python](http://python.org/) 模塊的值的代碼部分是在加載時設置的數據。
Tip
一些模塊的存在只為數據添加到Odoo
模塊數據通過 [數據文件](https://www.odoo.com/documentation/9.0/reference/data.html#reference-data), 帶有 `<record>` 元素的文件。每一個 `<record>` 元素創建或更新數據庫記錄。
~~~ xml
<openerp>
<data>
<record model="{model name}" id="{record identifier}">
<field name="{a field name}">{a value}</field>
</record>
</data>
<openerp>
~~~
* `model` 是為記錄Odoo模型名稱
* `id` 是一個 [外部標識符](https://www.odoo.com/documentation/9.0/glossary.html#term-external-identifier), 它允許引用記錄(不需要知道它的數據庫標識符)
* `<field>` 元素有一個名字,這是模型中的字段的名稱(例如,描述)。他們的身體是該領域的價值。
數據文件被宣布在清單文件被加載,他們可以宣布在 `'data' `列表(滿載)或在 `'demo'` 列表(只加載在演示模式)。
練習
定義示范數據
創建演示數據填充的 *Courses* 模型與一些示范課程。
編輯文件 `openacademy/demo.xml` 包括一些數據。
*openacademy/demo.xml*
~~~ xml
<openerp>
<data>
<record model="openacademy.course" id="course0">
<field name="name">Course 0</field>
<field name="description">Course 0's description
Can have multiple lines
</field>
</record>
<record model="openacademy.course" id="course1">
<field name="name">Course 1</field>
<!-- no description for this one -->
</record>
<record model="openacademy.course" id="course2">
<field name="name">Course 2</field>
<field name="description">Course 2's description</field>
</record>
</data>
</openerp>
~~~