我正在尝试将 Django 与 jquery UI autocomplete 一起使用但无法发送响应。
这是我的代码:
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
为什么?无法序列化列表?那么,我应该将什么传递给序列化程序?
如果有任何建议,我将不胜感激。
最佳答案
你确定它实际上是一个包含 unicode 对象的列表而不是一个包含一些数据库对象的列表吗? u"php"
可能只是对象的 repr()
。
试试 json.dumps([unicode(t) for t in tags_found])
或 json.dumps(map(unicode, tags_found))
关于Python:列表到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6056418/