我需要上传一个文件和与之相关的一些JSON数据,但我不知道如何保存这些不同部分,特别是JSON部分,也就是说我能够保存图像但无法保存JSON。
我看到需要使用MultiPartParser,但我无法弄清楚如何正确地将其整合到我的序列化器类中。
这是我的服务器收到的多部分请求:
<QueryDict: {'geo': ['{"point" : { "type:" : "Point", "coordinates" : [11.51350462236356, -22.70903491973877]}}'], 'picture': [<TemporaryUploadedFile: photo3.jpg (image/*)>]}>
这是景象:
class UserUploadedPicture(APIView):
def post(self, request, format=None):
print(request.data)
print("\n\n\n")
serializer = PictureSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data)
return JsonResponse(serializer.errors, status=400)
这是序列化器:
class PictureSerializer(GeoFeatureModelSerializer):
class Meta:
model = Pictures
geo_field = "point"
fields = ('picture', 'processed', 'flagged', 'point')
这是模型:
class Pictures(models.Model):
objects = models.GeoManager()
picture = models.ImageField(null=True, default=None, blank=True)
processed = models.BooleanField(default=False)
flagged = models.BooleanField(default=False)
point = models.PointField(null=True, default=None, blank=True)
有人可以告诉我如何正确地序列化point
字段吗?也许我需要更改JSON格式?也许我需要更改序列化器?