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

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

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

车辆编号:

001

牌照:

沪A7868

费用发生日期:

2019/6/1

费用(元):

800

备注:

新增数据模型

models目录新建car_charge.py数据模型文件,代码如下:
from odoo import fields, modelsclass NebulaCarCharge(models.Model):    _name = "nebula.car.charge"    _description = "车辆费用"    _order = 'name'    active = fields.Boolean('是否归档', size=2, default=True)    date_docket = fields.Datetime('单据日期', required=True, readonly=True,                                  index=True, default=fields.Datetime.now)    name = fields.Char('费用简情', size=30)    car_name = fields.Many2one('nebula.car', string='车辆编号', index=True,                               size=8, copy=False)    user_id = fields.Many2one('res.users', string='创建人', index=True,                              readonly=True, default=lambda self: self.env.user)    license_plate = fields.Char('车辆牌照', related='car_name.license_plate',                                store=True)    cost = fields.Float('费用')    note = fields.Text('备注')
将该文件名添加到models目录下__init__.py文件中,之前已经有演示。

设置访问权限

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

创建视图层

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

界面展示

列表效果:
表单效果:

最新文章

随机文章