Django Rest Framework中的哪个字段允许结合FileField和IntegerField的POST数据



我想在Django Rest Framework中编写一个视图集,允许用户上传带有这些订单号的新图像列表。但我不知道在DRF中使用什么字段。

我的序列化程序:

class ContentSerializer(ModelSerializer):
fileUpload = FileField(max_length=100000, allow_empty_file=False, use_url=False)
order_num = IntegerField(required=False)
class Meta:
model = Article
fields = [
'fileUpload',
'order_num',
]
class ArticleSerializer(ModelSerializer):
file_uploads = ListField(child=ContentSerializer(),write_only=True)
class Meta:
model = Article
fields = [
'file_uploads',
]

我的视图集:

class FeedEditAPIView(ModelViewSet):
'''
Use Form Data to PATCH
'''
queryset = Article.objects.all()
serializer_class = ArticleSerializer
lookup_field = 'id'

def edit_article(self, request, id):
print request.POST.getlist('file_uploads') // This return [u'{"file":{},"order_num":0}']

当我打印请求POST file_uploads时,它返回[u'{"file":{},"order_num":0}']。但我想退回[u'{"file":<files_object>,"order_num":0}']而不是

使用multipartparser,它支持文件上传和请求数据

class FeedEditAPIView(ModelViewSet):
'''
Use Form Data to PATCH
'''
parser_classes = (MultiPartParser,)
queryset = Article.objects.all()
serializer_class = ArticleSerializer
lookup_field = 'id'

最新更新