aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rest_framework/fields.py2
-rw-r--r--tests/test_fields.py3
2 files changed, 4 insertions, 1 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py
index 5fb0ec8d..f86f6626 100644
--- a/rest_framework/fields.py
+++ b/rest_framework/fields.py
@@ -913,6 +913,8 @@ class FileField(Field):
def to_representation(self, value):
if self.use_url:
+ if not value:
+ return None
url = settings.MEDIA_URL + value.url
request = self.context.get('request', None)
if request is not None:
diff --git a/tests/test_fields.py b/tests/test_fields.py
index bbd9f93d..eaa0a3c8 100644
--- a/tests/test_fields.py
+++ b/tests/test_fields.py
@@ -879,7 +879,8 @@ class TestFileField(FieldValues):
(MockFile(name='x' * 100, size=10), ['Ensure this filename has at most 10 characters (it has 100).'])
]
outputs = [
- (MockFile(name='example.txt', url='/example.txt'), '/example.txt')
+ (MockFile(name='example.txt', url='/example.txt'), '/example.txt'),
+ ('', None)
]
field = fields.FileField(max_length=10)