django 数据库 get_or_create函数返回值是tuple的问题
作者:djshichaoren 时间:2024-01-27 09:47:22
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)
来源:https://blog.csdn.net/djshichaoren/article/details/77864191
标签:django,get,or,create,返回值,tuple
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python键鼠操作自动化库PyAutoGUI简介(小结)
2022-01-04 09:08:53
![](https://img.aspxhome.com/file/2023/0/81790_0s.png)
关于使用python对mongo多线程更新数据
2021-08-22 22:07:12
创建pycharm的自定义python模板方法
2021-01-11 04:46:41
Tensorflow读取并输出已保存模型的权重数值方式
2023-09-15 10:07:49
JavaScript 日期联动选择器
2010-08-01 10:18:00
Python实现复制文档数据
2022-07-15 02:39:32
python求加权平均值的实例(附纯python写法)
2022-12-22 22:12:03
如何利用Python打开txt格式的文件
2022-06-01 02:08:36
![](https://img.aspxhome.com/file/2023/3/99103_0s.png)
python selenium UI自动化解决验证码的4种方法
2022-10-09 20:43:06
Python常用库大全及简要说明
2023-06-10 00:35:49
利用后缀表达式(逆波兰式)算24点的JavaScript版算法
2010-01-23 10:57:00
“Unable to read local eventlog (reason:事件日志文件已在读取时间更改)”解决办法
2009-08-27 13:12:00
详解Python程序与服务器连接的WSGI接口
2021-11-19 03:57:10
![](https://img.aspxhome.com/file/2023/9/112499_0s.jpg)
python生成随机验证码(中文验证码)示例
2022-07-28 05:41:58
Python pygame项目实战英雄动画特效实现
2021-02-22 21:07:50
![](https://img.aspxhome.com/file/2023/0/70760_0s.png)
Python3 执行Linux Bash命令的方法
2023-11-03 06:47:15
Python3+RIDE+RobotFramework自动化测试框架搭建过程详解
2022-04-15 00:01:01
![](https://img.aspxhome.com/file/2023/0/100980_0s.png)
python结合shell自动创建kafka的连接器实战教程
2023-01-06 19:17:13
Python 经典面试题 21 道【不可错过】
2023-10-29 04:56:20
详解Python 函数如何重载?
2021-04-11 04:48:30