2010-02-13 74 views
2

我創建了一個表單,用於在我們的Web管理員中添加有關客戶的備註。我正在使用jQuery和Ajax來提交for。我希望Django視圖返回新添加的note/record,以便將其附加到customer notes表中。我的Ajax發送正在工作,筆記正在保存,我無法顯示結果。Django返回單個記錄爲JSON

我曾嘗試以下3條線(分別):

serializers.serialize("json", Note.objects.get(id=new_note.id)) 
serializers.serialize("json", new_note) 
return HttpResponse(simplejson.dumps(new_note), mimetype='application/javascript') 

第一2各自產生:

'Note' object is not iterable 

而且第三人給我:

<Note: Note object> is not JSON serializable 

我實際上並不關心我返回對象的格式,只要我可以使用jQuery接收和顯示記錄的每個字段。

謝謝。

回答

9

the docs

的參數到serialize函數是串行化的數據(見序列化格式)和一個QuerySet序列化格式。

使用filter()而不是get()

+0

感謝。我讀了文檔,看到它必須是一個查詢集,我沒有意識到它可以與.filter()一起使用。 – mhost 2010-02-13 02:17:04

+1

我真的認爲neoprolog的答案正是你在這種情況下尋找的。不是每個人都有他們想要序列化時想要使用的查詢集。 – JamesD 2012-02-16 03:17:14

9

用途:

serializers.serialize("json", [new_note]) 

(注意平方左右的查詢對象括號)