Queryset 数据类型
1、对象
filter(), all()
获取到的Queryset中的内容是 obj
2、字典
values()
获取到的Queryset中的内容是 字典
可以用通过 .items来获取key value
obj = UserInfo.objects.all().values("username", "depart__title") for i in obj: for k,v in i.items(): print(k,v) return HttpResponse("get......")
obj = UserInfo.objects.all().values("username", "depart__title") for i in obj: print(i["username"], i["depart__title"])
3、元组
values_list()
获取到的Queryset中的内容是 元组
可以通过下标的方式来获取value
>>> Entry.objects.values_list('id', 'headline') [(1, 'First entry'), ...]
如果只传递一个字段,你还可以传递flat 参数。如果为True,它表示返回的结果为单个值而不是元组。一个例子会让它们的区别更加清晰:
>>> Entry.objects.values_list('id').order_by('id') [(1,), (2,), (3,), ...] >>> Entry.objects.values_list('id', flat=True).order_by('id') [1, 2, 3, ...]
如果有多个字段,传递flat 将发生错误。