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 相关文章推荐
在Ubuntu系统下安装使用Python的GUI工具wxPython
Feb 18 Python
Django 导出 Excel 代码的实例详解
Aug 11 Python
彻底理解Python list切片原理
Oct 27 Python
python 将md5转为16字节的方法
May 29 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
python中join()方法介绍
Oct 11 Python
对Python协程之异步同步的区别详解
Feb 19 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
python挖矿算力测试程序详解
Jul 03 Python
PyCharm取消波浪线、下划线和中划线的实现
Mar 03 Python
详解numpy1.19.4与python3.9版本冲突解决
Dec 15 Python
教你如何使用Python开发一个钉钉群应答机器人
Jun 21 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函数解决SQL injection
2006/10/09 PHP
php学习笔记之 函数声明(二)
2011/06/09 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
使用PHP实现微信摇一摇周边红包
2016/01/04 PHP
jQuery :nth-child前有无空格的区别分析
2011/07/11 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解
2013/11/07 Javascript
jQuery scroll事件实现监控滚动条分页示例
2014/04/04 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
Javascript表单特效之十大常用原理性样例代码大总结
2016/07/12 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
AngularJS集合数据遍历显示的实例
2017/12/27 Javascript
JavaScript文本特效实例小结【3个示例】
2018/12/22 Javascript
JavaScript创建对象的四种常用模式实例分析
2019/01/11 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
彻底搞懂并解决vue-cli4中图片显示的问题实现
2020/08/31 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
django实现支付宝支付实例讲解
2019/10/17 Python
py-charm延长试用期限实例
2019/12/22 Python
Regatta官网:英国最受欢迎的户外服装和鞋类品牌
2019/05/01 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
实验教师岗位职责
2014/02/13 职场文书
给市场的环保建议书
2014/05/14 职场文书
村党支部公开承诺书
2014/05/29 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
拔河比赛新闻稿
2015/07/17 职场文书
中学团支部工作总结
2015/08/13 职场文书
2016年社区服务活动总结
2016/04/06 职场文书
Python pandas求方差和标准差的方法实例
2021/08/04 Python
python计算列表元素与乘积详情
2022/08/05 Python