【发布时间】:2020-12-31 19:39:37
【问题描述】:
我想用 ImageRenditionField 序列化 Wagtail 管理员的个人资料头像。 根据question 的回答,我尝试了这个:
# models.py
class User(AbstractUser):
def get_avatar(self):
return self.wagtail_userprofile.avatar
# serializers.py
class UserSerializer(serializers.ModelSerializer):
avatar = ImageRenditionField('width-190', source='get_avatar')
class Meta:
model = User
fields = ['id', 'username', 'first_name', 'last_name', 'avatar']
我知道了:
Django Version: 3.1.4
Exception Type: AttributeError
Exception Value:
'ImageFieldFile' object has no attribute 'get_rendition'
如何将用户头像放入 ImageRenditionField?
【问题讨论】:
-
我检查了用户配置文件的源代码,它不是从
AbstractImage模型继承的,这意味着您不会有get_rendition可用于此图像。你可以在你的序列化方法中调整大小
标签: django serialization django-rest-framework wagtail