Python 应为字符串或缓冲区
我正在尝试从我的模型中获取相关的图像URLPython 应为字符串或缓冲区,python,django,django-rest-framework,Python,Django,Django Rest Framework,我正在尝试从我的模型中获取相关的图像URL class DetailSerializer(serializers.ModelSerializer): image = serializers.SerializerMethodField("get_related_image_url") etc def get_related_image_url(self, obj): request = self.context.get('re
class DetailSerializer(serializers.ModelSerializer):
image = serializers.SerializerMethodField("get_related_image_url")
etc
def get_related_image_url(self, obj):
request = self.context.get('request', None)
print(request.build_absolute_uri(obj.image()))
错误:
应为字符串或缓冲区
/Users/user/Documents/workspace/demo/django-env/lib/python2.7/site-packages/django/http/request.py in build_absolute_uri
"""
Builds an absolute URI from the location and the variables available in
this request. If no location is specified, the absolute URI is built on
``request.get_full_path()``.
"""
if not location:
location = self.get_full_path()
if not absolute_http_url_re.match(location): ...
current_uri = '%s://%s%s' % ('https' if self.is_secure() else 'http',
self.get_host(), self.path)
location = urljoin(current_uri, location)
return iri_to_uri(location)
def _is_secure(self):
为什么会出现此错误?
obj.image()
似乎正在返回非字符串的内容。不知道。什么是obj?obj.image()DRF@DanielRosemanimage()从my Model返回images/a8206638528a.png,但它不会以字符串形式返回,否则不会出现该错误。请给出实际方法的代码。@DanielRoseman你知道你是对的。它正在重新调整json!!!!!!