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 将发生错误。

 

posted @ 2017-05-20 12:11  Vincen_shen  阅读(826)  评论(0编辑  收藏  举报