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修改Excel数据的实例代码
Nov 01 Python
10种检测Python程序运行时间、CPU和内存占用的方法
Apr 01 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
May 26 Python
分析并输出Python代码依赖的库的实现代码
Aug 09 Python
Django权限机制实现代码详解
Feb 05 Python
Python常见内置高效率函数用法示例
Jul 31 Python
linux中如何使用python3获取ip地址
Jul 15 Python
深入了解Django View(视图系统)
Jul 23 Python
python3获取文件中url内容并下载代码实例
Dec 27 Python
常用的10个Python实用小技巧
Aug 10 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
python中spy++的使用超详细教程
Jan 29 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与C#分别格式化文件大小的代码
2011/05/14 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
php魔术变量用法实例详解
2014/11/13 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
网页开发中的容易忽略的问题 javascript HTML中的table
2009/04/15 Javascript
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
不同浏览器对回车提交表单的处理办法
2010/02/13 Javascript
jquery自定义右键菜单、全选、不连续选择
2016/03/01 Javascript
js验证框架之RealyEasy验证详解
2016/06/08 Javascript
vue内置指令详解
2018/04/03 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
前端 javascript 实现文件下载的示例
2020/11/24 Javascript
[10:49]2014国际邀请赛 叨叨刀塔第二期为真正的电竞喝彩
2014/07/21 DOTA
python目录操作之python遍历文件夹后将结果存储为xml
2014/01/27 Python
Python AES加密模块用法分析
2017/05/22 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
利用Python实现朋友圈中的九宫格图片效果
2020/09/03 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
2020/11/28 Python
Python中过滤字符串列表的方法
2020/12/22 Python
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
团日活动策划书
2014/02/01 职场文书
中专生自我鉴定范文
2014/02/02 职场文书
对孩子的寄语
2014/04/09 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
房产授权委托书范本
2014/09/22 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS
vue自定义右键菜单之全局实现
2022/04/09 Vue.js
python井字棋游戏实现人机对战
2022/04/28 Python