django 数据库 get_or_create函数返回值是tuple的问题
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的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持好吧啦网。
相关文章:
1. Admin - SpringBoot + Maven 多启动环境配置实例详解2. Android WebView通过动态的修改js去拦截post请求参数实例3. SpringBoot2整合Ehcache组件实现轻量级缓存管理4. spring boot集成mongodb的增删改查的示例代码5. Django def clean()函数对表单中的数据进行验证操作6. 如何用python写个模板引擎7. django中嵌套的try-except实例8. 浅谈vue实现双向事件绑定v-model的原理9. Android自定义View实现气泡动画10. Django结合使用Scrapy爬取数据入库的方法示例