简体   繁体   中英

Expected string or buffer

I am trying to get the related image URL from my model

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())) 

Error:

expected string or buffer

/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):   

Why do I get this error?

obj.image()似乎返回的不是字符串。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM