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 08 Python
python正常时间和unix时间戳相互转换的方法
Apr 23 Python
Python2.x中文乱码问题解决方法
Jun 02 Python
Python删除空文件和空文件夹的方法
Jul 14 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
Mar 16 Python
定制FileField中的上传文件名称实例
Aug 23 Python
python 图像处理画一个正弦函数代码实例
Sep 10 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
python 实现生成均匀分布的点
Dec 05 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
Apr 22 Python
使用python画出逻辑斯蒂映射(logistic map)中的分叉图案例
Dec 11 Python
Python读写Excel表格的方法
Mar 02 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实现维护文件代码
2007/06/14 PHP
PHP 变量定义和变量替换的方法
2009/07/30 PHP
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
PHP设计模式 注册表模式
2012/02/05 PHP
使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
2013/04/25 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
2019/05/29 PHP
php函数式编程简单示例
2019/08/08 PHP
JQuery限制复选框checkbox可选中个数的方法
2015/04/20 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
2015/10/16 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
JS表格组件神器bootstrap table使用指南详解
2017/04/12 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
jQuery AJAX 方法success()后台传来的4种数据详解
2018/08/08 jQuery
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
python批量下载图片的三种方法
2013/04/22 Python
python try 异常处理(史上最全)
2019/03/07 Python
python将字符串转换成json的方法小结
2019/07/09 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
NumPy统计函数的实现方法
2020/01/21 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
C++和python实现阿姆斯特朗数字查找实例代码
2020/12/07 Python
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
个人违纪检讨书
2014/09/15 职场文书
打架检讨书范文
2015/01/27 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
肖申克救赎观后感
2015/06/02 职场文书
浅谈JavaScript作用域
2021/12/06 Javascript
vue实现简易音乐播放器
2022/08/14 Vue.js
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS