From 7e1c4be7ced1fe242540c796d046d665f2a40350 Mon Sep 17 00:00:00 2001 From: zeroohub Date: Tue, 6 Aug 2019 18:31:46 +0800 Subject: [PATCH] Avoided double call for remote url in FileField.to_representation. (#6841) --- rest_framework/fields.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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