我尝试使用
将我的querset对象作为唯一项列表返回return qs.values_list(distinct_val, flat=True)
如果我打印以上查询,则会将['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']
我的回复:
[
{},
{}
]
我的自定义ViewSet:
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
答案 0 :(得分:0)
您必须将Queryset转换为list()
return list(qs.values_list(distinct_val, flat=True))