Ich versuche, Django mit zu benutzen jquery UI-Autovervollständigung aber Probleme beim Senden der Antwort.
Hier ist mein Code:
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")
Ich erhalte einen Fehler:
[u"php"] is not JSON serializable
Warum? Es ist nicht möglich, eine Liste zu serialisieren. Was muss ich dann an den Serializer weitergeben?
Ich wäre für jeden Rat dankbar.
Antworten:
9 für die Antwort № 1Sind Sie sicher, dass es tatsächlich eine Liste mit Unicode-Objekten und keine Liste mit Datenbankobjekten ist? u"php"
könnte nur das sein repr()
des Objekts.
Versuchen json.dumps([unicode(t) for t in tags_found])
oder json.dumps(map(unicode, tags_found))