首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django无法在versatileImage ()中检索/获取SerializerMethodField链接(裁剪URL)

Django无法在versatileImage ()中检索/获取SerializerMethodField链接(裁剪URL)
EN

Stack Overflow用户
提问于 2021-12-11 11:54:15
回答 1查看 43关注 0票数 0
代码语言:javascript
复制
class GetUserImageOneSerializer(serializers.ModelSerializer):
    class Meta:
        image_one = VersatileImageFieldSerializer(
        sizes=[
            ('medium_square_crop', 'crop__400x400'),
        ]
        )
        model = UserImage
        fields = ('image_one',)
代码语言:javascript
复制
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') .For中传递用户的图像--在UI中--我需要方形裁剪图像--所以我尝试使用嵌套序列化器(‘ChatUserSerializer’中的‘GetUserImageOneSerializer’)。但我只得到正常的URL。你能帮我找到更好的方法来实现我的想法吗:)

输出:

代码语言:javascript
复制
[
    {
        "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"
        }
    }
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-13 11:02:27

我找到解决办法了

我在图像序列化程序中犯了错误,应该是这样的

代码语言:javascript
复制
class GetUserImageOneSerializer(serializers.ModelSerializer):
    image_one = VersatileImageFieldSerializer(
        sizes=[
            ('medium_square_crop', 'crop__400x400'),
        ]
        )
    class Meta:
        model = UserImage
        fields = ('image_one',)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70314907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档