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中合并两个文本文件并按照姓名首字母排序的例子
Apr 25 Python
Python ORM框架SQLAlchemy学习笔记之关系映射实例
Jun 10 Python
将Python中的数据存储到系统本地的简单方法
Apr 11 Python
python中字典(Dictionary)用法实例详解
May 30 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 Python
Python缓存技术实现过程详解
Sep 25 Python
解决Python二维数组赋值问题
Nov 28 Python
Python+Dlib+Opencv实现人脸采集并表情判别功能的代码
Jul 01 Python
Python3爬虫关于识别点触点选验证码的实例讲解
Jul 30 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
python基础之文件处理知识总结
May 23 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
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
php 连接mysql连接被重置的解决方法
2011/02/15 PHP
PHP防范SQL注入的具体方法详解(测试通过)
2014/05/09 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
2014/09/16 PHP
日常整理PHP中简单的图形处理(经典)
2015/10/26 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
接收键盘指令的脚本
2006/06/26 Javascript
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
JavaScript具有类似Lambda表达式编程能力的代码(改进版)
2010/09/14 Javascript
js数组去重的常用方法总结
2014/01/24 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
jquery处理json对象
2014/11/03 Javascript
jquery操作复选框checkbox的方法汇总
2015/02/05 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
angularjs http与后台交互的实现示例
2018/12/21 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
vue实现点击追加选中样式效果
2019/11/01 Javascript
vue点击按钮实现简单页面的切换
2020/09/08 Javascript
Python入门篇之正则表达式
2014/10/20 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
基于python中的TCP及UDP(详解)
2017/11/06 Python
基于python的多进程共享变量正确打开方式
2018/04/28 Python
Python全排列操作实例分析
2018/07/24 Python
python实现C4.5决策树算法
2018/08/29 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python字典循环添加一键多值的用法实例
2019/01/20 Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
2019/09/05 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
Eastbay官网:美国最大的运动鞋网络零售商
2016/07/27 全球购物
哄娃神器4moms商店:美国婴童用品品牌
2019/03/07 全球购物
担保书格式及范文
2014/04/01 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书