/ / Python: listar para JSON - python, django, jquery-ui-autocomplete

Python: listar para JSON - python, django, jquery-ui-autocomplete

Eu estou tentando usar o Django com autocomplete da IU de jquery mas tendo problemas para enviar resposta.

Aqui está o meu código:

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")

Eu recebo um erro:

[u"php"] is not JSON serializable

Por quê? Não é possível serializar uma lista? O que devo passar para o serializador, então?

Eu ficaria muito grato por qualquer conselho.

Respostas:

9 para resposta № 1

Tem certeza de que na verdade é uma lista contendo objetos unicode e não uma lista contendo alguns objetos de banco de dados? u"php" pode ser apenas o repr() do objeto.

Experimentar json.dumps([unicode(t) for t in tags_found]) ou json.dumps(map(unicode, tags_found))