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中除法使用的注意事项
Aug 21 Python
简单谈谈Python中函数的可变参数
Sep 02 Python
Python 中迭代器与生成器实例详解
Mar 29 Python
Pandas探索之高性能函数eval和query解析
Oct 28 Python
利用python修改json文件的value方法
Dec 31 Python
python统计中文字符数量的两种方法
Jan 31 Python
Pytorch实现GoogLeNet的方法
Aug 18 Python
Pytorch to(device)用法
Jan 08 Python
记一次django内存异常排查及解决方法
Aug 07 Python
Python Django路径配置实现过程解析
Nov 05 Python
python 实用工具状态机transitions
Nov 21 Python
python中xlrd模块的使用详解
Feb 01 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中使用Curl、socket、file_get_contents三种方法POST提交数据
2011/08/12 PHP
url decode problem 解决方法
2011/12/26 PHP
PHP防止表单重复提交的几种常用方法汇总
2014/08/19 PHP
PHP中把错误日志保存在系统日志中(Windows系统)
2015/06/23 PHP
使一个函数作为另外一个函数的参数来运行的javascript代码
2007/08/13 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
模拟用户点击弹出新页面不会被浏览器拦截
2014/04/08 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
JavaScript数据类型检测代码分享
2015/01/26 Javascript
javascript将异步校验表单改写为同步表单
2015/01/27 Javascript
JS加载器如何动态加载外部js文件
2016/05/26 Javascript
vue学习笔记之vue1.0和vue2.0的区别介绍
2017/05/17 Javascript
JavaScript闭包_动力节点Java学院整理
2017/06/27 Javascript
MUI实现上拉加载和下拉刷新效果
2017/06/30 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
vue elementUI 表单校验功能之数组多层嵌套
2019/06/04 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
python实现巡检系统(solaris)示例
2014/04/02 Python
Python中异常重试的解决方案详解
2017/05/05 Python
Python获取SQLite查询结果表列名的方法
2017/06/21 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
python中类与对象之间的关系详解
2020/12/16 Python
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
美国五金商店:Ace Hardware
2018/03/27 全球购物
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
高一家长会邀请函
2014/01/12 职场文书
2014学习全国两会精神心得体会2000字
2014/03/11 职场文书
门前三包责任书
2014/04/15 职场文书
公司捐款倡议书
2014/05/14 职场文书
计算机相关专业自荐信
2014/07/02 职场文书
大学感恩节活动总结
2015/05/05 职场文书
第一书记观后感
2015/06/08 职场文书
Python标准库pathlib操作目录和文件
2021/11/20 Python
javascript中Set、Map、WeakSet、WeakMap区别
2022/12/24 Javascript