如何在 django rest 框架中从另一个模型序列化 ImageField
How to serializer an ImageField from another model in django rest framework
我知道有很多类似的问题,但是 none 解决了我的问题。
我有一个简单的主题,它有一个图像字段、一个主题标题、一个主题内容、一个主题 slug 等等。
该主题与使用外键的用户相关联。序列化程序在
之前运行良好
添加了图像字段的序列化程序。
serializers.py
class TopicDetailSerializer(serializers.ModelSerializer):
topic_author = serializers.SerializerMethodField('get_topic_author')
topic_author_picture = serializers.SerializerMethodField(
'get_topic_author_picture')
class Meta:
model = Topic
fields = ['id', 'topic_title', 'topic_content', 'created_date',
'topic_slug', 'thread_title', 'topic_author', 'topic_author_picture', ]
def get_topic_author_picture(self, topic):
return topic.owner.profile_picture
def get_topic_author(self, topic):
return topic.owner.username
当我从前端请求数据时控制台的输出:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte
我不是只存储图像的路径而不是图像本身吗?我的意思是我有一个用户配置文件序列化程序,它向请求的用户发送信息,它包含一个图像。但它工作正常。
使用FieldFile.url
作为
def get_topic_author_picture(self, topic):
return topic.owner.profile_picture<b>.url</b>
我知道有很多类似的问题,但是 none 解决了我的问题。
我有一个简单的主题,它有一个图像字段、一个主题标题、一个主题内容、一个主题 slug 等等。
该主题与使用外键的用户相关联。序列化程序在
之前运行良好添加了图像字段的序列化程序。
serializers.py
class TopicDetailSerializer(serializers.ModelSerializer):
topic_author = serializers.SerializerMethodField('get_topic_author')
topic_author_picture = serializers.SerializerMethodField(
'get_topic_author_picture')
class Meta:
model = Topic
fields = ['id', 'topic_title', 'topic_content', 'created_date',
'topic_slug', 'thread_title', 'topic_author', 'topic_author_picture', ]
def get_topic_author_picture(self, topic):
return topic.owner.profile_picture
def get_topic_author(self, topic):
return topic.owner.username
当我从前端请求数据时控制台的输出:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 0: invalid start byte
我不是只存储图像的路径而不是图像本身吗?我的意思是我有一个用户配置文件序列化程序,它向请求的用户发送信息,它包含一个图像。但它工作正常。
使用FieldFile.url
作为
def get_topic_author_picture(self, topic):
return topic.owner.profile_picture<b>.url</b>