当前位置:网站首页>odoo基础开发之CURD(增、删、查、改)
odoo基础开发之CURD(增、删、查、改)
2022-07-19 16:29:00 【温柔且上进c】
环境介绍
- odoo版本:odoo 13
- python版本:3.7.3
- odoo环境低于12版本,某些操作方法需要加特定的装饰器(如:@api.multi),高于odoo12版本即可向正常的方法一样定义操作。
操作介绍
增加数据:
- 示例代码:
@api.model
def create(self, vals_list):
res = super(EpidemicRecord, self).create(vals_list)
return res
- 参数解释:
- vals_list:字典类型,添加数据时,数据还未保存到数据库中时,数据保存在此,字典的key为模型字段名,字典的value为模型的字段值。vals_list[‘字段名’]=字段值
- res:成功创建后,即为数据已经保存到数据库中。返回的数据记录集。res.字段名=字段值
- super(模型类名,self)。第一个参数为模型类名,而不是模型名。
- 在点击保存时触发此方法,而不是点击创建时触发此方法。
- 创建不触发:
- 保存时触发:
修改数据:
- 示例代码:
def write(self, vals):
res = super(EpidemicRecord, self).write(vals)
return res
- 参数解释:
- self:为对象,当前正在修改的数据集的元数据,可以为多条数据
- vals:为字典类型,我们所修改字段的数据,key为字段名,value为字段值
- res:返回值为布尔类型,修改成功返回True,修改失败返回False
- 创建记录保存时,只执行create方法,不执行write方法,只要在修改数据后,保存数据才会执行write方法,且create方法只会在创建时执行一次。
删除数据:
- 示例代码:
def unlink(self):
res = super(EpidemicRecord, self).unlink()
return res
- 参数解释:
- self:当前操作的数据集
- 删除当前数据集的所有记录,并返回一个布尔值,true删除成功,false删除失败。
- 可以在重写此方法,来达到假删除的,而不是直接从数据库中删除。
- 批量删除:
- 单个删除:
查找数据:
- self.browse(ids)方法,ids是一个列表
- self.search(domain, order=‘id’, limit=1)方法,domain 是查询条件, limit 取前limit个,order排序方式
边栏推荐
- 实用技巧——小问题的一些解决办法
- 软件测试岗——面试时三大灵魂拷问,你受得住吗?
- Under the epidemic, where is the way out for software testing?
- How to choose an open source automated testing framework? You must know these 9 open source tools
- 安装Pycharm的13个步骤,还不会嘛?(超级详细教程)
- VRRP技术(详解)
- ASCII doc to markdown
- 负载能力——影响负载能力思维导图整理
- FPGA开发第一弹:Vivado软件安装、开发使用与工程建立
- 银行业数据安全建设专题分析
猜你喜欢
安全合规,优惠不停!高品质出行服务,“享道”给你
After resetting the computer, install MySQL 5.7.38 and msvcp120 is missing dll
测试岗成功有没有捷径,我告诉你,唯一的捷径就是不走弯路
沸腾的短剧江湖:十个剧组九个在拍,头部分账金超3000万,用户上瘾陷付费套路
光大银行分布式实战:国内最大缴费平台的数据库架构转型
Rambus宣布面向数据中心和PC的DDR5内存接口芯片产品组合
银行业数据安全建设专题分析
Fix the error reported by the redis connection of the celery configuration under windows (typeerror: _initu () got an unexpected keyword argument)
趣店罗敏,预制“韭菜”?
FreeRTOS个人笔记-支持时间片
随机推荐
背包问题
数学奥赛VS信息学奥赛(2022.07.19)
19年大专毕业——认清生活的真相后,我选择了软件测试
从门户时代到信息流时代,好内容反而被忽略了?
Dart final 和 const 变量
Markdown beginner grammar summary
测试岗成功有没有捷径,我告诉你,唯一的捷径就是不走弯路
Pytest的高级用法,你get到了吗?
Paging storage management mode
There are 13 steps to install pychart, isn't it? (super detailed tutorial)
趣店罗敏,预制“韭菜”?
You can definitely use the carefully selected 100 soft test high-frequency interview questions before the interview
电子协会 C语言 2级 60 、整数奇偶排序(2021年 6月真题)
【300+精选大厂面试题持续分享】大数据运维尖刀面试题专栏(五)
Are you still worried about the implementation plan change for Oracle database migration?
教你使用CANN将照片一键转换成卡通风格
Oracle数据库迁移,还担心执行计划改变吗?
Is there a shortcut to the success of the test post? I tell you, the only shortcut is not to take detours
国内开源的一款超好用 Redis 可视化工具,高颜值 UI,真香!!
汇聚开发者智慧 夯实数据库产业根基