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 相关文章推荐
python3编写C/S网络程序实例教程
Aug 25 Python
解析Python中的异常处理
Apr 28 Python
用tensorflow构建线性回归模型的示例代码
Mar 05 Python
Windows环境下python环境安装使用图文教程
Mar 13 Python
python实现聊天小程序
Mar 13 Python
Python+request+unittest实现接口测试框架集成实例
Mar 16 Python
Python 保存矩阵为Excel的实现方法
Jan 28 Python
Python timeit模块的使用实践
Jan 13 Python
关于tensorflow softmax函数用法解析
Jun 30 Python
详解pyqt5的UI中嵌入matplotlib图形并实时刷新(挖坑和填坑)
Aug 07 Python
Django启动时找不到mysqlclient问题解决方案
Nov 11 Python
python入门之算法学习
Apr 22 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
利用PHP+JS实现搜索自动提示(实例)
2013/06/09 PHP
探讨:array2xml和xml2array以及xml与array的互相转化
2013/06/24 PHP
php实现mysql连接池效果实现代码
2018/01/25 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
JS实现局部选择打印和局部不选择打印
2014/04/03 Javascript
javascript实现的网站访问量统计代码
2015/12/20 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
js实现获取鼠标当前的位置
2016/12/14 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
详解基于Node.js的HTTP/2 Server实践
2018/05/31 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
详解ES6数组方法find()、findIndex()的总结
2020/05/12 Javascript
python操作xml文件示例
2014/04/07 Python
python学习笔记:字典的使用示例详解
2014/06/13 Python
python实现的重启关机程序实例
2014/08/21 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
python自动点赞功能的实现思路
2020/02/26 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
zooplus意大利:在线宠物商店
2019/08/07 全球购物
宝宝满月宴答谢词
2015/09/30 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
2016年五一促销广告语
2016/01/28 职场文书
《玩出了名堂》教学反思
2016/02/17 职场文书
大学社团活动总结怎么写
2019/06/21 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
MyBatis 动态SQL全面详解
2021/10/05 MySQL