简书中文教程:http://www.jianshu.com/u/d4607d4b7c50
英文官方文档:http://www.odoo.com/documentation/10.0/
镜像网站:http://odoo-10-dev-translation.readthedocs.io/zh_CN/latest/howtos/backend.html
我们的任务是必须在odoo上开发出一个简单的培训签到记录表
首先要看懂在odoo上一个项目的结构:
在odoo10上,wens_app(我们自己创建的项目文件)下有若干个文件夹,其中每一个文件夹都对应着一个应用,我们可以打开odoo服务端(localhost:3069)中安装对应的的应用,这次我们创建的项目文件为ws_training,一般会包含几个文件夹:controllers, models, report, static, templates, views, 其下有2个文件__init__.py和__manifest__.py,__init__.py中包含入了当前文件中的所有目录,例如ws_training下的__init__.py代码如下:
import models
import report
import controllers
import os
那models/trainning.py文件如下:
import logging
from odoo import models, fields, api
class ws_training_attend(models.Model):#继承models.Model,定义对象模型,生成签到数据表
''' 在模块安装完成后,odoo的ORM框架会自动把这个对象映射到数据库表。
属性类型会映射到表字段数据类型,表名是_name这个成员字符串(逗号变成下划线) '''
_name = 'ws.training.attend'
_description = u'培训签到表' #这不是继承的属性
user_id = fields.Many2one('res.users', string=u'学员', required=True) ##Many2one是一个框架中的类——在odoo/fileds.py中
course_id = fields.Many2one('ws.training.course', string=u'课程', required=True)
attend_time = fields.Datetime(string=u'签到时间', required=True, help=u'签到时间')
description = fields.Text(string=u'备注')
'&#