Utilisez JSONResponse pour sérialiser un QuerySet dans Django 1.7?
J'ai vu que maintenant dans Django 1.7 je peux utiliser le http.JSONResponse
objet à envoyer JSON à un client. Mon point de Vue est
#Ajax
def get_chat(request):
usuario = request.GET.get('usuario_consultor', None)
usuario_chat = request.GET.get('usuario_chat', None)
mensajes = list(MensajeDirecto.objects.filter(Q(usuario_remitente = usuario, usuario_destinatario = usuario_chat) | Q(usuario_remitente = usuario_chat, usuario_destinatario = usuario)))
return JsonResponse(mensajes, safe=False)
Mais j'obtiens l'erreur suivante:
<MensajeDirecto: Towi CrisTowi> n'est pas la sérialisation JSON`
Savez-vous comment sérialiser un QuerySet pour le renvoyer en JSON forme?
source d'informationauteur Cris_Towi
Vous devez vous connecter pour publier un commentaire.
Réf.:
https://docs.djangoproject.com/en/dev/ref/request-response/#jsonresponse-objects
https://docs.djangoproject.com/en/1.7/topics/serialization/
Vous ne devriez pas re-sérialiser avec
JsonResponse
. Vous recevrez un correctement formaté réponse JSON avec:Si vous utilisez un
JsonResponse
il forcera les déjà JSON sérialisé à une chaîne, ce qui n'est probablement pas ce que vous voulez.Remarque: Fonctionne avec Django 1.10