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实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
django 创建过滤器的实例详解
Aug 14 Python
Python 25行代码实现的RSA算法详解
Apr 10 Python
Python运维自动化之nginx配置文件对比操作示例
Aug 29 Python
Python 中导入csv数据的三种方法
Nov 01 Python
学习python的前途 python挣钱
Feb 27 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
Jun 03 Python
Python基础学习之类与实例基本用法与注意事项详解
Jun 17 Python
Pyqt QImage 与 np array 转换方法
Jun 27 Python
关于python中的xpath解析定位
Mar 06 Python
python excel和yaml文件的读取封装
Jan 12 Python
Python排序算法之插入排序及其优化方案详解
Jun 11 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脚本的10个技巧(5)
2006/10/09 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
php版微信公众平台入门教程之开发者认证的方法
2016/09/26 PHP
CSS中一些@规则的用法小结
2021/03/09 HTML / CSS
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
实现JavaScript中继承的三种方式
2009/10/16 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
Javascript技术难点之apply,call与this之间的衔接
2015/12/04 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
js判断输入字符串是否为空、空格、null的方法总结
2016/06/14 Javascript
DIV+CSS+jQ实现省市联动可扩展
2016/06/22 Javascript
jquery注册文本框获取焦点清空,失去焦点赋值的简单实例
2016/09/08 Javascript
JavaScript  event对象整理及详细介绍
2016/10/10 Javascript
jquery 判断是否支持Placeholder属性的方法
2017/02/07 Javascript
详解微信小程序 通过控制CSS实现view隐藏与显示
2017/05/24 Javascript
Vue实现搜索结果高亮显示关键字
2019/05/28 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
用js实现放大镜效果
2020/10/28 Javascript
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
Python实现一个简单的验证码程序
2017/11/03 Python
Python cookbook(数据结构与算法)找出序列中出现次数最多的元素算法示例
2018/03/15 Python
Django使用Mysql数据库已经存在的数据表方法
2018/05/27 Python
pytorch 修改预训练model实例
2020/01/18 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
林清轩官方网站:山茶花润肤油开创者
2016/10/26 全球购物
Etam艾格英国官网:法国著名女装品牌
2019/04/15 全球购物
护士实习鉴定范文
2013/12/22 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
实习生评语
2014/04/26 职场文书
学校联谊协议书
2014/09/16 职场文书
合作意向协议书
2015/01/29 职场文书
同学毕业留言寄语
2015/02/27 职场文书
学习焦裕禄观后感
2015/06/09 职场文书