Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django json响应中的数据操作_Python_Django_Django Views - Fatal编程技术网

Python Django json响应中的数据操作

Python Django json响应中的数据操作,python,django,django-views,Python,Django,Django Views,我想迭代设备对象并添加一个比较 json如下所示。我想比较一下,假设status为1,为每个设备添加新字段status:available-else-status:Occuppied。我怎样才能像那样操纵json 视图: JSON: Django的内置序列化程序非常基本,如果您正在构建某种JSON API,我强烈建议您查看Django REST框架。它允许您构建自定义序列化程序 要回答您的问题,可能最简单的方法是使用“python”序列化程序,操作数据,然后返回JsonResponse,如下所示

我想迭代设备对象并添加一个比较

json如下所示。我想比较一下,假设status为1,为每个设备添加新字段status:available-else-status:Occuppied。我怎样才能像那样操纵json

视图:

JSON:


Django的内置序列化程序非常基本,如果您正在构建某种JSON API,我强烈建议您查看Django REST框架。它允许您构建自定义序列化程序

要回答您的问题,可能最简单的方法是使用“python”序列化程序,操作数据,然后返回JsonResponse,如下所示:

from django.http import JsonResponse

...
    data = serializers.serialize('python', device)
    for row in data:
        row['fields']['status'] = 'available' if row['fields']['status'] else 'occupied'
    return JsonResponse(data, safe=False)
为了序列化dict以外的对象,必须将safe参数设置为False


Django的内置序列化程序非常基本,如果您正在构建某种JSON API,我强烈建议您查看Django REST框架。它允许您构建自定义序列化程序

要回答您的问题,可能最简单的方法是使用“python”序列化程序,操作数据,然后返回JsonResponse,如下所示:

from django.http import JsonResponse

...
    data = serializers.serialize('python', device)
    for row in data:
        row['fields']['status'] = 'available' if row['fields']['status'] else 'occupied'
    return JsonResponse(data, safe=False)
为了序列化dict以外的对象,必须将safe参数设置为False

from django.http import JsonResponse

...
    data = serializers.serialize('python', device)
    for row in data:
        row['fields']['status'] = 'available' if row['fields']['status'] else 'occupied'
    return JsonResponse(data, safe=False)