当前位置:首页>python>中篇Python(ODOO)篇 第三章 ODOO项目开发(三)添加基础部分模块 12.车辆验证

中篇Python(ODOO)篇 第三章 ODOO项目开发(三)添加基础部分模块 12.车辆验证

  • 2026-10-11 08:15:21
中篇Python(ODOO)篇 第三章 ODOO项目开发(三)添加基础部分模块 12.车辆验证
原始需求图:

车辆编号:

001

牌照:

沪A7868

验证日期:

2020/12/11

下次验证日期

2021/12/11

需要验证后,将验证日期后推到正确时间。

新增数据模型

models目录新建car_verify.py数据模型文件,代码如下:
from odoo import fields, modelsclass NebulaCarVerify(models.Model):    _name = "nebula.car.verify"    _description = "车辆验证"    _order = 'name'    active = fields.Boolean('是否归档', default=True)    name = fields.Char('验证简情', size=30)    car_name = fields.Many2one('nebula.car', string='车辆编号', index=True,                               size=8, copy=False,                               domain=[('active', '=', True)])    license_plate = fields.Char('车辆牌照', related='car_name.license_plate',                                store=True)    verify_date = fields.Date('验证日期')    next_date = fields.Date('下一验证日')    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)    note = fields.Text('备注')    #  TODO  当归档active=True,必须要有下一验证日,并将该值存入到对应的车辆表中
将该文件名添加到models目录下__init__.py文件中,之前已经有演示。
TODO功能:
因我们先不处理业务逻辑,所以我们可以将暂时未处理的事情用TODO来标注,等需要的时候再处理。一般是用来表示待完成,或者待解决的部分。
我们可以快速定位到TODO。方法是点击左下角的TODO标签,然后展开项目,可以看到TODO。

设置访问权限

在security目录下的ir.model.access.csv新增一行权限记录。
access_nebula_car_verify,nebula.car.verify,model_nebula_car_verify,group_peijia_manager,1,1,1,1

创建视图层

在views目录新增car_verify_views.xml文件,先用默认方式展示即可,待模块加载成功后再逐步修改和完善文件,内容如下:
<?xml version="1.0" encoding="utf-8"?><odoo>    <act_windowid="peijia.action_car_verify_views"name="车辆验证"    res_model="nebula.car.verify" view_mode="tree,form" /></odoo>
修改peijia目录下__manifest__.py文件中data段,在views/car_type_views.xml前新增views/car_verify_views.xml文件名。
在views目录下car_views.xml文件,前添加菜单指向车辆验证子模块,代码:
<menuitem id="menu_car_verify_views" name ="车辆验证"         parent="menu_peijia_car_data" sequence="140"         action="peijia.action_car_verify_views"/>
重启后,更新陪驾模块,查看是否已经有相关菜单和界面。正常后读者可继续修改视图层。

界面展示

列表效果:
表单效果:

最新文章

随机文章