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代码(逐级优化)
May 25 Python
python获取豆瓣电影简介代码分享
Jan 16 Python
Python实现MySQL操作的方法小结【安装,连接,增删改查等】
Jul 12 Python
python Matplotlib画图之调整字体大小的示例
Nov 20 Python
对Python 2.7 pandas 中的read_excel详解
May 04 Python
python基于http下载视频或音频
Jun 20 Python
关于python写入文件自动换行的问题
Jun 23 Python
python读取word文档,插入mysql数据库的示例代码
Nov 07 Python
解决python线程卡死的问题
Feb 18 Python
python实现AES和RSA加解密的方法
Mar 28 Python
python通过安装itchat包实现微信自动回复收到的春节祝福
Jan 19 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
May 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 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
PHP最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
php ftp文件上传函数(基础版)
2010/06/03 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
2012/05/29 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
php简单备份与还原MySql的方法
2016/05/09 PHP
php常用日期时间函数实例小结
2019/07/04 PHP
[HTML/CSS/Javascript]WWTJS
2007/09/25 Javascript
js将当前时间格式转换成时间搓(自写)
2013/09/26 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
javascript常用函数(2)
2015/11/05 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
JS使用cookie设置样式的方法
2016/06/30 Javascript
Angular工具方法学习
2016/12/26 Javascript
javascript 封装Date日期类实例详解
2017/05/28 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
详解微信小程序Page中data数据操作和函数调用
2017/09/27 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
[43:51]2018DOTA2亚洲邀请赛3月30日 小组赛B组 EG VS Secret
2018/03/31 DOTA
Python pickle模块用法实例分析
2015/05/27 Python
Django自定义插件实现网站登录验证码功能
2017/04/19 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python的Tqdm模块的使用
2018/01/10 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
Python 实现还原已撤回的微信消息
2019/06/18 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
英国电气世界:Electrical World
2019/09/08 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
酒店总经理岗位职责
2015/04/01 职场文书
消夏晚会主持词
2015/06/30 职场文书
canvas绘制折线路径动画实现
2021/05/12 Javascript
nginx rewrite功能使用场景分析
2022/05/30 Servers