odoo_1
2018-07-05 本文已影响0人
大猪厂
启动服务器
odoo-bin
构建模块
- 模块包含类、文件、请求和静态数据。
- 每个模块都是一个子目录,可以通过--addons-path选项指定模块目录的路径
创建一个空模块
odoo-bin scaffold <模块名> <模块放置路径>
对象关系映射
from odoo import models
class MinimalModel(models.Model):
_name = 'test.model' # _name必填属性,定义了模块的名称
模型字段
-
通过类的属性来定义
-
属性参数:string、required、help、index
-
简单字段
- Boolean、Date、Char
-
关联字段
- Many2One、One2Many、Many2Many
-
保留字段
- id、create_date、create_uid、write_date、write_uid
-
特殊字段
- _rec_name
from odoo import models, fields, api
class Course(models.Model):
_name = 'openacademy.course'
name = fields.Char(string="Title", required = True)
description = fields.Text()
数据文件
- 模块数据带有<record>元素的XML数据文件来声明,每个<record>元素创建或更新数据库的一个记录行。
<odoo>
<data>
<record model="{model name}" id = "{record identifier}">
<firld name = "{a field name}">{a value}</field>
</record>
</data>
</odoo>
- 添加演示数据,填充Course模型
<odoo>
<data>
<record model="openacademy.course" id="Course0">
<field name="name">Course 0</field>
<field name="description">Course 0's description</field>
</record>
<record model="openacademy.course" id="course2">
<field name="name">Course 2</field>
<field name="description">Course 2's description</field>
</record>
</data>
</odoo>
动作和菜单
- 菜单项目连接
- 点击视图的按钮
- <menuitem> ir.ui.menu菜单对象
<record model="ir.actions.act_window" id="action_list_ideas">
<field name="name">Ideas</field>
<field name="res_model">idea.idea</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem id="menu_ideas" parent="menu_root" name="Ideas" sequence="10" action="action_list_ideas"/>