django 数据库 get_or_create函数返回值是tuple的问题


Posted in Python onMay 15, 2020

get_or_create函数比较好用。

如果查询到就返回,如果没查询到就向数据库加入新的对象。

e.g.

size = Size.objects.get_or_create(sizeName=size_text)

注意:返回的是tuple,:(对象, 是否是创建的)

e.g. (size, created)

补充知识:Django update_or_create 注意事项

需求: model 修改数据库数据,数据存在则更新,不存在则保存

update_or_create 用法:

update_or_create(defaults=None, **kwargs)

kwargs: 来更新对象或创建一个新的对象。

defaults: 是由 (field, value) 对组成的字典,用于更新对象。

返回一个由 (object, created)组成的元组,

object: 是一个创建的或者是被更新的对象,

created: 是一个标示是否创建了新的对象的布尔值。

update_or_create: 方法通过给出的kwarg

try:
  obj = Person.objects.get(first_name='John', last_name='Lennon')
  for key, value in updated_values.iteritems():
    setattr(obj, key, value)
  obj.save()
except Person.DoesNotExist:
  updated_values.update({'first_name': 'John', 'last_name': 'Lennon'})
  obj = Person(**updated_values)
  obj.save()
# 如果模型的字段数量较大的话,这种模式就变的非常不易用。上面的示例可以用 update_or_create() 重写:
obj, created = Person.objects.update_or_create(
  first_name='John', last_name='Lennon', defaults=updated_values)

以上这篇django 数据库 get_or_create函数返回值是tuple的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于Python的文件类型和字符串详解
Dec 21 Python
Python实现简单文本字符串处理的方法
Jan 22 Python
Python中利用xpath解析HTML的方法
May 14 Python
python爬虫之模拟登陆csdn的实例代码
May 18 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
使用python绘制二维图形示例
Nov 22 Python
python logging添加filter教程
Dec 24 Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 Python
flask开启多线程的具体方法
Aug 02 Python
Python logging模块原理解析及应用
Aug 13 Python
python 怎样进行内存管理
Nov 10 Python
解决Python import .pyd 可能遇到路径的问题
Mar 04 Python
重写django的model下的objects模型管理器方式
May 15 #Python
Python基于pip实现离线打包过程详解
May 15 #Python
Django在Model保存前记录日志实例
May 14 #Python
django 连接数据库出现1045错误的解决方式
May 14 #Python
Django ORM filter() 的运用详解
May 14 #Python
Django设置Postgresql的操作
May 14 #Python
numpy矩阵数值太多不能全部显示的解决
May 14 #Python
You might like
global.php
2006/12/09 PHP
PHP+MYSQL开发工具及资源收藏
2007/01/02 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
JavaScript中的事件处理
2008/01/16 Javascript
JS高级调试技巧:捕获和分析 JavaScript Error详解
2014/03/16 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
JavaScript使用DeviceOne开发实战(四)仿优酷视频应用
2015/12/02 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
jQuery实现拖动效果的实例代码
2017/06/25 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
微信小程序动态显示项目倒计时
2019/06/20 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
python3制作捧腹网段子页爬虫
2017/02/12 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
Python assert关键字原理及实例解析
2019/12/13 Python
python str字符串转uuid实例
2020/03/03 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
ffmpeg+Python实现B站MP4格式音频与视频的合并示例代码
2020/10/21 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
生物科学系大学生的自我评价
2013/12/20 职场文书
项目施工员岗位职责
2014/03/09 职场文书
班级文化建设标语
2014/06/23 职场文书
银行求职自荐书
2014/06/25 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
户籍证明书标准模板
2014/09/10 职场文书
法制教育观后感
2015/06/17 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
Apache POI的基本使用详解
2021/11/07 Servers