新增数据模型
models目录新建metier_type.py数据模型文件,代码如下:# -*- coding: utf-8 -*-from odoo import fields, modelsclass MetierType(models.Model): _name = "nebula.metier.type" _description = "职业类型" _order = 'name' name = fields.Char('职业类型', size=30, required=True, index=True) active = fields.Boolean(default=True, string='是否启用') note = fields.Text('备注') _sql_constraints = [ ('check_unique_name', 'unique(name)', '不允许同名职业类型')]
将该文件名(metier_type)添加到models目录下__init__.py的auto_type后面,前面以逗号分割,如下所示。from . import car_type, auto_type, metier_type
设置访问权限
在security目录下的ir.model.access.csv新增一行权限记录。access_nebula_metier_type,nebula.metier.type,model_nebula_metier_type,group_peijia_manager,1,1,1,1
创建视图层
在views目录新增metier_type_views.xml文件,因无特殊要求,所以用默认方式展示即可,内容如下:<?xml version="1.0" encoding="utf-8"?><odoo> <act_windowid="peijia.action_metier_type_views"name="职业类型" res_model="nebula.metier.type" view_mode="tree,form" /></odoo>
修改peijia目录下__manifest__.py文件中data段,在views/car_type_views.xml前新增views/metier_type_views.xml文件名。在peijia->views目录下car_views.xml文件,前添加菜单指向职业类型子模块,代码:<menuitem id="menu_metier_views" name="职业类型" parent="menu_peijia_base_data" sequence="120" action="peijia.action_metier_type_views"/>
创建默认数据
在data目录新增metier_type_data.xml文件,用来存放职业类默认数据。代码如下:<?xml version="1.0" encoding="utf-8"?><odoo> <datanoupdate="1"> <!-- 职业类型默认数据--> <recordid="nebula_metier_1"model="nebula.metier.type"> <fieldname="name">销售管理</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_2"model="nebula.metier.type"> <fieldname="name">销售人员</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_3"model="nebula.metier.type"> <fieldname="name">商务及销售行政</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_4"model="nebula.metier.type"> <fieldname="name">客服及技术支持</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_5"model="nebula.metier.type"> <fieldname="name">市场/营销</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_6"model="nebula.metier.type"> <fieldname="name">经营管理</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_7"model="nebula.metier.type"> <fieldname="name">行政/后勤</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_8"model="nebula.metier.type"> <fieldname="name">人力资源</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_9"model="nebula.metier.type"> <fieldname="name">计算机硬件</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_10"model="nebula.metier.type"> <fieldname="name">计算机软件</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_11"model="nebula.metier.type"> <fieldname="name">互联网开发及应用</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_12"model="nebula.metier.type"> <fieldname="name">IT-管理</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_13"model="nebula.metier.type"> <fieldname="name">IT-品管、技术支持</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_14"model="nebula.metier.type"> <fieldname="name">通信技术</field> <fieldname="active">TRUE</field> </record> <recordid="nebula_metier_15"model="nebula.metier.type"> <fieldname="name">其他</field> <fieldname="active">TRUE</field> </record> </data></odoo>
我们在__manifest__.py文件中data段最后添加该文件位置,以方便调用。格式如下:data/metier_type_data.xml全部修改完成后,重启odoo服务,再将应用中陪驾模块升级,汽车陪驾模块的基础资料下拉菜单里面新增了职业类型菜单。界面展示