django查询返回主键相关的列值

时间:2016-12-21 19:33:28

标签: mysql django

我是新手使用数据库并制作django查询来获取信息。

如果我有一个以id作为主键的表,以及与其他列相同的年龄和高度,那么什么查询会给我带回所有ID和相关年龄的字典?

例如,如果我的表格如下所示:

special_id | ages | heights
1          | 5    | x1
2          | 10   | x2
3          | 15   | x3

我希望有一个像{special_id:ages}这样的键值对,其中special_id也是主键。

这可能吗?

1 个答案:

答案 0 :(得分:1)

试试这个:

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)

你将获得经典:

{field_name: field_value}

如果你想要{field_value: field_value},你可以这样做:

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)