Загрузка изображений Django Rest Framework
у меня есть модель продукта:
class Product(models.Model):
...
image = models.ImageField(
upload_to=lambda instance, filename: 'images/{0}/{1}'.format(instance.id, filename),
max_length=254, blank=True, null=True
)
...
тогда у меня есть сериализатор:
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = (
...
'image',
...
)
и тогда у меня есть взгляды:
class ProductViewSet(BaseViewSet, viewsets.ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductSerializer
как я могу загрузить изображение с почтальоном? Каковы наилучшие методы загрузки изображения в модель? Спасибо.
1 ответов
вы можете создать конечную точку для загрузки изображений, это будет так:
class ProductViewSet(BaseViewSet, viewsets.ModelViewSet):
queryset = Product.objects.all()
serializer_class = ProductSerializer
@detail_route(methods=['post'])
def upload_docs(request):
try:
file = request.data['file']
except KeyError:
raise ParseError('Request has no resource file attached')
product = Product.objects.create(image=file, ....)
вы можете обойти это решение