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多线程抓取代理服务器IP地址的示例
Nov 09 Python
python的Tqdm模块的使用
Jan 10 Python
Python subprocess模块功能与常见用法实例详解
Jun 28 Python
django.db.utils.ProgrammingError: (1146, u“Table‘’ doesn’t exist”)问题的解决
Jul 13 Python
python使用folium库绘制地图点击框
Sep 21 Python
python TKinter获取文本框内容的方法
Oct 11 Python
python解析含有重复key的json方法
Jan 22 Python
使用pickle存储数据dump 和 load实例讲解
Dec 30 Python
python如何实时获取tcpdump输出
Sep 16 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 Python
详解python 条件语句和while循环的实例代码
Dec 28 Python
python快速安装OpenCV的步骤记录
Feb 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
JavaScript数据绑定实现一个简单的 MVVM 库
2016/04/08 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
JS针对Array的各种操作汇总
2016/11/29 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(2)
2017/02/20 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
手机端转换rem适应
2017/04/01 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
微信小程序多列选择器range-key使用详解
2020/03/30 Javascript
Vuejs 页面的区域化与组件封装的实现
2017/09/11 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
详解vuex结合localstorage动态监听storage的变化
2018/05/03 Javascript
详解小程序rich-text对富文本支持方案
2018/11/28 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
Python 文件操作技巧(File operation) 实例代码分析
2008/08/11 Python
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
Python引用(import)文件夹下的py文件的方法
2014/08/26 Python
Python中的rjust()方法使用详解
2015/05/19 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python+request+unittest实现接口测试框架集成实例
2018/03/16 Python
python3.6 如何将list存入txt后再读出list的方法
2019/07/02 Python
Python 占位符的使用方法详解
2019/07/10 Python
详解Pycharm与anaconda安装配置指南
2020/08/25 Python
编程实现当输入某产品代码则打印出该产品记录的功能
2014/05/03 面试题
写自荐信的七个技巧
2013/10/15 职场文书
自我推荐书
2013/12/04 职场文书
工厂仓管员岗位职责
2014/01/01 职场文书
运动会广播稿50字
2014/01/26 职场文书
公司承诺书格式
2014/05/21 职场文书
微笑服务标语
2014/06/24 职场文书
2014年接待工作总结
2014/11/26 职场文书
公司酒会主持词
2015/07/02 职场文书
2015年学校综合治理工作总结
2015/07/20 职场文书
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers