我是新手使用数据库并制作django查询来获取信息。
如果我有一个以id作为主键的表,以及与其他列相同的年龄和高度,那么什么查询会给我带回所有ID和相关年龄的字典?
例如,如果我的表格如下所示:
special_id | ages | heights
1 | 5 | x1
2 | 10 | x2
3 | 15 | x3
我希望有一个像{special_id:ages}这样的键值对,其中special_id也是主键。
这可能吗?
答案 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)