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 cv2 图像自适应灰度直方图均衡化处理方法
Dec 07 Python
python模拟菜刀反弹shell绕过限制【推荐】
Jun 25 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
python redis连接 有序集合去重的代码
Aug 04 Python
Python操作SQLite/MySQL/LMDB数据库的方法
Nov 07 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
Mar 16 Python
python批量处理多DNS多域名的nslookup解析实现
Jun 28 Python
Python连接mysql数据库及简单增删改查操作示例代码
Aug 03 Python
Python2.6版本pip安装步骤解析
Aug 17 Python
Python爬虫UA伪装爬取的实例讲解
Feb 19 Python
Python破解极验滑动验证码详细步骤
May 21 Python
Python答题卡识别并给出分数的实现代码
Jun 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验证码(支持中文)
2007/02/14 PHP
php xml文件操作实现代码(二)
2009/03/20 PHP
PHP5 操作MySQL数据库基础代码
2009/09/29 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
2013/06/28 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
2014/11/18 PHP
php提取字符串中网站url地址的方法
2014/12/03 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
PHP错误提示It is not safe to rely on the system……的解决方法
2019/03/25 PHP
jquery下利用jsonp跨域访问实现方法
2010/07/29 Javascript
jquery trim() 功能源代码
2011/02/14 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
一个支付页面DEMO附截图
2014/07/22 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
关于js中的鼠标事件总结
2017/07/11 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
JavaScript实现图片放大预览效果
2020/11/02 Javascript
python复制与引用用法分析
2015/04/08 Python
浅谈Python中copy()方法的使用
2015/05/21 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
python实现对求解最长回文子串的动态规划算法
2018/06/02 Python
python日志logging模块使用方法分析
2019/05/23 Python
Python有参函数使用代码实例
2020/01/06 Python
Python爬虫实现百度翻译功能过程详解
2020/05/29 Python
python speech模块的使用方法
2020/09/09 Python
俄罗斯美容和健康网上商店:Созвездие Красоты
2019/07/23 全球购物
大学共青团员个人自我评价
2014/04/16 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2016大一新生入学教育心得体会
2016/01/23 职场文书
2019奶茶店创业计划书范本!
2019/07/15 职场文书