当前位置:首页>python>中篇Python(ODOO)篇 第三章 ODOO项目开发(三)添加基础部分模块 15.投诉管理

中篇Python(ODOO)篇 第三章 ODOO项目开发(三)添加基础部分模块 15.投诉管理

  • 2026-10-11 07:51:28
中篇Python(ODOO)篇 第三章 ODOO项目开发(三)添加基础部分模块 15.投诉管理
原始需求图:

投诉日期:

2020/2/2

投诉学生编号:

11111

学生姓名:

王五

被投诉教练编号:

005

教练姓名:

王轻舞

投诉内容:

处理情况:

新增数据模型

models目录新建teachar_complain.py数据模型文件,代码如下:
from odoo import fields, modelsclass NebulaTeacherComplain(models.Model):    _name = "nebula.teacher.complain"    _description = "投诉管理"    _order = 'name'    active = fields.Boolean('未处理', default=True)    name = fields.Char('投诉简情', size=30)    teacher_name = fields.Many2one('nebula.teacher', string='教练工号',                                   index=True, size=8, copy=False,                                   domain=[('active', '=', True)])    teacher_full_name = fields.Char('教练姓名', related='teacher_name.full_name',                                    store=True)    student_name = fields.Many2one('nebula.student', string='姓名',                                   index=True, size=8, copy=False)    student_seq = fields.Char('学员编号', related='student_name.seq', store=True)    student_mobile = fields.Char('学员手机', related='student_name.mobile')    date_docket = fields.Datetime('投诉日期', required=True, readonly=True,                                  index=True, default=fields.Datetime.now)    user_id = fields.Many2one('res.users', string='创建人', index=True,                              readonly=True, default=lambda self: self.env.user)    complain_note = fields.Text('投诉内容')    manage_note = fields.Text('处理情况')
将该文件名添加到models目录下__init__.py文件中,之前已经有演示。

设置访问权限

在security目录下的ir.model.access.csv新增两行权限记录。
access_nebula_teacher_complain,nebula.teacher.complain,model_nebula_teacher_complain,group_peijia_manager,1,1,1,1access_nebula_teacher_complain_user,nebula.teacher.complain,model_nebula_teacher_complain,group_peijia_user,1,1,1,0

创建视图层

在views目录新增teacher_complain_views.xml文件,先用默认方式展示即可,待模块加载成功后再逐步修改和完善文件,内容如下:
<?xml version="1.0" encoding="utf-8"?><odoo>    <act_windowid="peijia.action_teacher_complain_views"name="投诉管理"    res_model="nebula.teacher.complain" view_mode="tree,form" /></odoo>
修改peijia目录下__manifest__.py文件中data段,在views/car_type_views.xml前新增views/teacher_complain_views.xml文件名。
在views目录下car_views.xml文件,教练三级菜单位置添加指向投诉管理子模块菜单项,代码:
<menuitem id="menu_teacher_complain_views" name ="投诉管理"          parent="menu_peijia_teacher_data" sequence="120"          action="peijia.action_teacher_complain_views"/>
截图:
重启后,更新陪驾模块,查看是否已经有相关菜单和界面。正常后读者可继续修改视图层。

界面展示

列表效果:
表单效果:

最新文章

随机文章