django 数据库 get_or_create函数返回值是tuple的问题
get_or_create函数比较好用。
如果查询到就返回,如果没查询到就向数据库加入新的对象。
e.g.
size=Size.objects.get_or_create(sizeName=size_text)
注意:返回的是tuple,:(对象,是否是创建的)
e.g.(size,created)
补充知识:Djangoupdate_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') forkey,valueinupdated_values.iteritems(): setattr(obj,key,value) obj.save() exceptPerson.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的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。