我是Django的新手,遇到了試圖將ValueQuerySet作爲JSON返回的問題。Django序列化ValueQuerySet
比方說,我有一個模型:
class Poll(models.Model):
date = models.DateTimeField()
我想要得到的投票計數的日期,所以我使用:
total = models.Poll.objects.extra({'date': "DATE(date)"}).values('date').annotate(total=Count('id'))
這給出了一個ValueQuerySet。我想把它作爲JSON響應返回。
這是我的觀點:
def get_total(request):
total= models.Poll.objects.extra({'date': "DATE(date)"}).values('date').annotate(total=Count('id'))
for i in total: #Convert datetime.date object to string
i['date'] = str(i['date'])
return HttpResponse(json.dumps(total), content_type='application/json')
我得到這個錯誤:
[{'date': '2013-12-02', 'total': 1}, {'date': '2013-12-03', 'total': 2}] is not JSON serializable
如何設置此任何意見,將不勝感激。我還使用Tastypie來設置API。如果這可以通過使用Tastypie來實現,那就太好了。
嘗試'json.dumps(list(total))' –