3
我想用Django與jquery UI autocomplete,但無法發送響應。Python:列表到JSON
這裏是我的代碼:
def ajax_tags_autocomplete(request):
""" Autocomplete for tag list """
beginning_of_title = request.GET.get('term', '')
tags_found = Tag.objects.values_list('title', flat=True).filter(title__startswith=beginning_of_title)
return HttpResponse(json.dumps(tags_found), mimetype='application/json')
我得到一個錯誤:
[u"php"] is not JSON serializable
爲什麼?不可能序列化一個列表?那麼我應該傳遞給序列化程序呢?
我會很樂意提供任何建議。
它,其實,成功了!你能解釋那裏發生了什麼嗎?我確信'values_list('title',flat = True)'給了我一個正常的單子列表或字符串。 – 2011-05-19 09:25:44
'values_list()'僅在評估後返回列表。除非你評估它('list(tags_found)'是最簡單的方法),它將是queryset,它不是JSON可序列化的。 – DrTyrsa 2011-05-19 09:29:24
不,我對Django或其ORM並不熟悉。但是,因爲它的工作,這意味着Django返回一個(可能是普通的)列表,其中包含一些不是普通的str/unicode對象的對象。 – ThiefMaster 2011-05-19 09:30:50