Django не может получить/извлечь ссылку versatileImage (обрезанный URL) в SerializerMethodField()

class GetUserImageOneSerializer(serializers.ModelSerializer):
    class Meta:
        image_one = VersatileImageFieldSerializer(
        sizes=[
            ('medium_square_crop', 'crop__400x400'),
        ]
        )
        model = UserImage
        fields = ('image_one',)



class ChatUserSerializer(serializers.ModelSerializer):
      chatImage = serializers.SerializerMethodField()
      class Meta:
          model = Chat
          fields = ('roome_name','chat_user_one','chat_user_two','lastUpdated','chatImage')
      def get_chatImage(self, obj):
          image=UserImage.objects.filter().first() //(for Test) 
          serializer = GetUserImageOneSerializer(image)
          return serializer.data

Здесь я пытаюсь передать изображение пользователя в сериализатор чата ('ChatImage') .Для лучшего поведения в UI мне нужно квадратное изображение, поэтому я попытался использовать вложенный сериализатор ('GetUserImageOneSerializer' внутри 'ChatUserSerializer'). Но я получаю только обычный URL. Вы можете помочь мне найти лучший способ реализовать мою идею :)

OUT PUT :

[
    {
        "roome_name": "BISM1000BISM1000",
        "chat_user_one": 6,
        "chat_user_two": 5,
        "lastUpdated": "2021-12-11T10:29:21.589947Z",
        "chatImage": {
            "image_one": "/media/userimage/team-1.jpg"
        }
    }
]


Я получил решение

Я допустил ошибку в сериализаторе изображения это должно выглядеть следующим образом

class GetUserImageOneSerializer(serializers.ModelSerializer):
    image_one = VersatileImageFieldSerializer(
        sizes=[
            ('medium_square_crop', 'crop__400x400'),
        ]
        )
    class Meta:
        model = UserImage
        fields = ('image_one',)
Вернуться на верх