车辆编号: | 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。设置访问权限
在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"/>
重启后,更新陪驾模块,查看是否已经有相关菜单和界面。正常后读者可继续修改视图层。界面展示