我在Django Rest Framework中编写了一个关于Profile Avatar Image
的串行器,但我希望得到完整的URL Image而不是ID。
我的序列化程序(返回profile_pic_url
是ID):
class ProfileDetailSerializer(ModelSerializer):
profile_pic_url = SerializerMethodField()
class Meta:
model = Profile
fields = [
'profile_pic_url',
]
def get_profile_pic_url(self, obj):
request = self.context.get('request')
profile_pic_url = obj.profile_pic_url.image
return request.build_absolute_uri(profile_pic_url)
此代码返回此问题:
'ImageFieldFile' object has no attribute 'find'
答案 0 :(得分:3)
您需要提供build_absolute_uri
图片网址,但不提供ImageField本身:
return request.build_absolute_uri(profile_pic_url.url)