2017-05-10 113 views
0

我試圖從查詢中返回JSON響應。我見過一些例子,如(https://rayed.com/wordpress/?p=1508),但它們沒有合併傳遞HTML模板。我收到一個錯誤 「ictionary更新序列元素#0具有長度爲510個;二是要求」在Django中返回JSON響應

型號

class APCPlats(models.Model): 
PlatsProjected = models.IntegerField(db_column='Projected', blank=True, null=True) 
PlatsCompleted = models.IntegerField(db_column='Complete', blank=True, null=True) 
Month = models.CharField(db_column='Month', max_length=200 , blank=True, null=True) 

def __str__(self): 
    return self.Month 

class Meta: 
    managed = True 
    db_table = 'APCPlats' 

查看

def APCChart(request): 
    apcdata = APCPlats.objects.all() 
    apcchart = serializers.serialize('json', apcdata) 

    return render(request, 'apc.html', JsonResponse(apcchart, safe=False)) 
+1

你爲什麼試圖在JSON中使用HTML模板?您是否試圖將HTML作爲JSON返回? JSON在HTML中?預期的結果是什麼? – kichik

+0

[Django視圖不使用模板返回json的可能的重複](https://stackoverflow.com/questions/9262278/django-view-returning-json-without-using-template) –

+0

@kichik我解決了這個問題一會兒回來。我需要將Django中的查詢轉換爲JSON以傳遞到Google圖表API。現在一切都很好。 – Matt

回答

0

我明白你試圖返回一個QuerySet以ajax前端。如果是這樣的話,你不需要渲染,你需要的只是Jsonresponse類似的:

return JsonResponse(appchart, safe=False)