我试图将我的Querset对象返回,作为使用
的唯一项目列表return qs.values_list(distinct_val, flat=True)
如果i print 在查询上方,则将['val1','val2', etc]
值作为列表。但是当我想返回我的输出时,
[
{},
{
"name": null,
"id": null
},
{},
{},
{},
{},
{},
{}
]
所需的输出是
['Fredrick', 'Mohi', ]
,
[
{'name': 'Fredrick'}
]
我在哪里犯错?
我的查询:
val = qs.values_list(distinct_val, flat=True).distinct().order_by()
print val
return val
我的打印语句:
[u'Frederick', None, u'Leslie', u'Francine']
我的响应:
[
{},
{}
]
我的自定义视图集:
class DjangoFilterBackendExt(DjangoFilterBackend):
def filter_queryset(self, request, queryset, view):
qs = super(DjangoFilterBackendExt, self).filter_queryset(request, queryset, view)
distinct_val = request.query_params.get('distinct')
if distinct_val:
return qs.values(distinct_val).distinct()
return qs
您必须将QuerySet转换为list()
return list(qs.values_list(distinct_val, flat=True))