引言
课前准备
- 学员准备:能访问互联网的电脑,可安装应用程序
- 教学材料:课件、讲义、案例、视频等教学材料,后续更新至该链接
- 课题纪律:培训签到及随堂作业完成情况,工作群通报
Odoo开发课程
准备
- 删除addons_local目录下的demo文件夹
- 下载模板:demo.7z
- 放置到addons_local目录
- 重启服务,升级模块
动态字段-many2one
在models.py修改
duty_engineer_id = fields.Many2one('res.users', string="负责人", required=True)
动态字段-many2many
在models.py修改
duty_engineer_id = fields.Many2many('res.users', relation='duty_user_rel', column1='duty_engineer_id', column2='user_id', string="负责人", required=True)
在views.xml修改
<field name="duty_engineer_id" widget="many2many_avatar_user"/>
<field name="duty_engineer_id" widget="many2many_avatar_user" options="{'no_create': True}"/>
定义新的model
在models.py修改
class brand(models.Model):
_name = 'demo.brand'
_description = 'demo.brand'
name = fields.Char(string="备件品牌", required=True)
spare_part_brand_id = fields.Many2one('demo.brand', string="备件品牌")
在ir.model.access.csv修改
access_demo_brand,demo.brand,model_demo_brand,base.group_user,1,1,1,1
增加视图
<record model="ir.actions.act_window" id="demo.action_window">
<field name="name">备件维护</field>
<field name="res_model">demo.demo</field>
<field name="view_mode">tree,form,calendar,graph,pivot</field>
</record>
日历视图
<record model="ir.ui.view" id="demo.calendar">
<field name="model">demo.demo</field>
<field name="arch" type="xml">
<calendar date_start="built_time" color="duty_engineer_id">
<field name="equipment_id"/>
</calendar>
</field>
</record>
图表视图
<record model="ir.ui.view" id="demo.graph">
<field name="model">demo.demo</field>
<field name="arch" type="xml">
<graph type="bar">
<field name="name" />
<field name="current_inventory" type="measure" />
</graph>
</field>
</record>
透视视图
<record model="ir.ui.view" id="demo.pivot">
<field name="model">demo.demo</field>
<field name="arch" type="xml">
<pivot>
<field name="name"/>
<field name="spare_part_brand_id"/>
<field name="current_inventory" type="measure" />
</pivot>
</field>
</record>
评论区