Python 查询结果的json格式

Python 查询结果的json格式,python,django,Python,Django,我正在努力获取正确格式的json数据 我有一些查询,希望每小时检索文档,并将其作为json返回。查询给出了正确的结果 docs = Document.objects.filter(uploadid= num) .extra({'hour' : "hour(timestamp)"}) .values('hour') .annotate(count_ph=Coun

我正在努力获取正确格式的json数据

我有一些查询,希望每小时检索文档,并将其作为json返回。查询给出了正确的结果

docs = Document.objects.filter(uploadid= num)
                       .extra({'hour' : "hour(timestamp)"})
                       .values('hour')
                       .annotate(count_ph=Count('id'))
response_data = list(docs)
return HttpResponse(json.dumps(response_data), content_type='application/json') 
这会产生如下结果:

[{count\u ph:6,hour:12},{count\u ph:2,hour:13},{count\u ph:2,hour:14}]

但我想返回的只是数据 [6,12],[2,13],[2,14]]

我应该怎么做才能使这项工作正常进行?

更新:

您应该能够使用实现这一点,并指定要返回的字段,如下所示:

docs = Document.objects.filter(uploadid= num)
                       .extra({'hour' : "hour(timestamp)"})
                       .annotate(count_ph=Count('id'), distinct=True)
                       .values_list('hour', 'count_ph')
response_data = list(docs)
return HttpResponse(json.dumps(response_data), content_type='application/json') 

作为旁注:您可能需要处理JSON不可序列化字段,如datetime。

您可能对它在何处生成仅在列表中包含值的元组感兴趣。这为我提供了数据库中具有特定“uploadid”的所有结果的列表,好像它忽略了我想要的计数函数。@Laura,请查看我的更新,您需要指定要在值列表中返回的字段,就像在值列表中一样,为了避免重复,请使用distinct=True添加Count,并使用值列表“hour”和“Count\ph”添加Count。