【发布时间】:2018-07-12 11:22:19
【问题描述】:
我是 Django Rest 框架的新手。我有一个带有文件字段的 Django 模型。
class MyClass(models.Model):
name = models.CharField(max_length=200, null=True, blank=True)
file = models.FileField(blank=False, null=True, use_url=True)
class MyClassSerializer(serializers.ModelSerializer):
class Meta(object):
model = MyClass
exclude = []
class MyClassView(generics.RetrieveUpdateDestroyAPIView):
queryset = MyClass.objects.all()
serializer_class = MyClassSerializer
取两个MyClass实例A和B。我想从我的前端发送一个PUT请求,将实例A的文件复制到模型B。
因此,我首先发出一个 GET 请求,该请求返回带有文件 URL 的实例 A(例如:`{...,文件:'http://myserver.com/file.pdf'))。然后我发送一个 PUT 请求以使用该 URL 更新实例 B,但我收到以下错误:
The submitted data was not a file. Check the encoding type on the form.
出于性能原因,我不希望再次下载和上传文件。知道如何序列化归档字段以使其接受我服务器上另一个文件的 url 吗?
【问题讨论】:
标签: django django-rest-framework