Django rest framework возвращает url изображения

Я пытаюсь загрузить изображение в API и получить URL изображения обратно в ответ:

Вот мой serializers.py

from ..models import EditedImage
from rest_framework import serializers


class EditedImage(serializers.ModelSerializer):
    class Meta:
        model = EditedImage
        fields = '__all__'

Вот мой views.py

class ImageViewSet(viewsets.ModelViewSet):
    queryset = EditedImage.objects.all()
    serializer_class = ImageSerializer

@api_view(["POST"])
def manipulate_image(request):
            greenChannel, blueChannel= manip(request.data["picture"])


    image = edited_image.objects.create(green=ContentFile(greenChannel.tobytes()),
                                 blue=ContentFile(blueChannel.tobytes()),
                                 )

    return Response(data=image, status=status.HTTP_201_CREATED)

TypeError: Объект типа Image не является JSON сериализуемым

Моя модель:

# Create your models here.
class EditedImage(models.Model):
    green= models.ImageField(upload_to="green_image", blank=True)
    blue= models.ImageField(upload_to="blue_image", blank=True)

serializers.py

from ..models import EditedImage
from rest_framework import serializers


class EditedImage(serializers.ModelSerializer):
    green= serializers.SerializerMethodField('get_green_url')
    blue= serializers.SerializerMethodField('get_blue_url')
    class Meta:
        model = EditedImage
        fields = '__all__'

    def get_green_url(self, obj):
        request = self.context.get("request")
        if (obj.green):
            return request.build_absolute_uri(obj.green.url)
        else:
             return (obj.green)

    def get_blue_url(self, obj):
        request = self.context.get("request")
        if (obj.blue):
            return request.build_absolute_uri(obj.blue.url)
        else:
             return (obj.blue)
Вернуться на верх