如何将query_set列表转换为包含字典的列表?

时间:2017-09-18 03:12:57

标签: python django list dictionary

众所周知,我们可以使用model_to_dict将query_set转换为字典。

from django.forms.models import model_to_dict 
u = User.objects.get(id=1)  
u_dict = model_to_dict(u)  
type(u)  
#<class 'django.contrib.auth.models.User'>  
type(u_dict)  
#<type 'dict'> 

但是,我想将query_set转换为包含字典的列表。

uers = User.objects.all()

这里我将编写一个for循环来转换query_set以转换为字典。然后附加到列表中。

那么,是否有一种方便的方法将query_set列表转换为我的要求?

2 个答案:

答案 0 :(得分:1)

list(map(model_to_dict,User.objects.all()))

答案 1 :(得分:1)

您可以使用.values

User.objects.values()

这将返回一个QuerySet。您只需转换为列表

即可更改为列表
list(User.objects.values())

可以与filter使用相同:User.objects.filter(<some filter>).values()