[Fixed]-Django query return primary key related column values

1👍

✅

Try this:

from django.http import JsonResponse

def get_json(request):
    result = MyModel.objects.all().values('id', 'ages')  # or simply .values() to get all fields
    result_list = list(result)  # important: convert the QuerySet to a list object
    return JsonResponse(result_list, safe=False)

You will get classic:

{field_name: field_value}

And if you want {field_value: field_value} you can do:

from django.http import JsonResponse

def get_json(request):
    result = MyModel.objects.all()
    a = {}
    for item in result:
        a[item.id] = item.age
    return JsonResponse(a)

Leave a comment