diff --git a/rest_framework/fields.py b/rest_framework/fields.py index f5f0b632e..0be6a7c12 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -1546,16 +1546,16 @@ class FileField(Field): return None use_url = getattr(self, 'use_url', api_settings.UPLOADED_FILES_USE_URL) - if use_url: - if not getattr(value, 'url', None): - # If the file has not been saved it may not have a URL. + try: + url = value.url + except AttributeError: return None - url = value.url request = self.context.get('request', None) if request is not None: return request.build_absolute_uri(url) return url + return value.name