从JSON表单数据获取数据并存储在Django的数据库中

时间:2020-04-12 14:42:07

标签: python json django python-3.x django-rest-framework

我的JSON文件:(这是一个文件)

{“ user-id”:10009,“ rating”:3,“ movie_id”:9823}

我需要分别获取每个数据。因此我可以将它们存储在数据库中。 JSON文件是一个表单数据。

我尝试过:

    def post(self, request):

        data = request.FILES['json_file']
        # a = data.read().decode('utf-8')
        a = json.loads(data)
        x = a['user-id']
        print(x)

    return Response(x, status=status.HTTP_201_CREATED)

上面的代码不起作用,并给我错误:

the JSON object must be str, not 'InMemoryUploadedFile'

如何从JSON文件(表单数据)中获取数据并将其内容存储在数据库中?

enter image description here

1 个答案:

答案 0 :(得分:0)

data的类型为InMemoryUploadedFile,因此要将其转换为字符串,需要读取(以字节为单位)并将其转换为字符串:

 def post(self, request):

        data = request.data.get('json_file')
        a = json.loads(str(data.read()))
        x = a['user-id']
        print(x)

    return Response(x, status=status.HTTP_201_CREATED)