Lorsque j'essaie d'envoyer des valeurs dans JsonResponse, l'erreur arrive (l'objet de type QuerySet n'est pas sérialisable JSON)
def ajaxAgent(request):
data = CommCenter.objects.values()
responseData = { 'status': 'success', 'msg' : data}
return JsonResponse(responseData)
3 Réponses :
Vous devrez écrire un sérialiseur de modèle pour sérialiser les valeurs des objets dans JSON qui vous sont renvoyées sous forme de liste lorsque vous récupérez des objets à l'aide de Django ORM. Consultez ce lien pour plus de détails ModelSerializer
Veuillez trouver ici la réponse:
from django.http import JsonResponse
def some_view(request):
data = list(SomeModel.objects.values())
return JsonResponse(data, safe=False) # or JsonResponse({'data': data})
Ce qui a fonctionné pour moi était d'utiliser values_list() et de convertir en liste en utilisant list
def ajaxAgent(request):
data = CommCenter.objects.filter().values_list()
responseData = { 'status': 'success', 'msg' : list(data)}
return JsonResponse(responseData)
Est-ce que cela répond à votre question? Sortir l'ensemble de requêtes Django au format JSON