summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2016-06-17 21:04:02 -0400
committerTim Graham <timograham@gmail.com>2016-06-17 21:04:02 -0400
commit7def55c3f6716fcfa40a3bd5d0fbb2090588d81e (patch)
treea2b2207276d162726458d8133d8185583a9b52d1
parent91e9be45ed5ad3b0c3de8890a4fcdbb68836856f (diff)
Reverted "Fixed #26398 -- Made FieldFile.open() respect its mode argument."
This reverts commit a52a531a8b34f049fba11c3ee7b010af7534bf90 due to regressions described in refs #26772.
-rw-r--r--django/db/models/fields/files.py7
-rw-r--r--tests/file_storage/tests.py10
2 files changed, 4 insertions, 13 deletions
diff --git a/django/db/models/fields/files.py b/django/db/models/fields/files.py
index f18e2f39b3..e3a3fee8f6 100644
--- a/django/db/models/fields/files.py
+++ b/django/db/models/fields/files.py
@@ -45,10 +45,10 @@ class FieldFile(File):
if not self:
raise ValueError("The '%s' attribute has no file associated with it." % self.field.name)
- def _get_file(self, mode='rb'):
+ def _get_file(self):
self._require_file()
if not hasattr(self, '_file') or self._file is None:
- self._file = self.storage.open(self.name, mode)
+ self._file = self.storage.open(self.name, 'rb')
return self._file
def _set_file(self, file):
@@ -77,7 +77,8 @@ class FieldFile(File):
size = property(_get_size)
def open(self, mode='rb'):
- self._get_file(mode)
+ self._require_file()
+ self.file.open(mode)
# open() doesn't alter the file's contents, but it does reset the pointer
open.alters_data = True
diff --git a/tests/file_storage/tests.py b/tests/file_storage/tests.py
index c3c4c9cc38..24481730ea 100644
--- a/tests/file_storage/tests.py
+++ b/tests/file_storage/tests.py
@@ -734,16 +734,6 @@ class FileFieldStorageTests(TestCase):
self.assertEqual(list(obj.normal.chunks(chunk_size=2)), [b"co", b"nt", b"en", b"t"])
obj.normal.close()
- def test_filefield_write(self):
- # Files can be written to.
- obj = Storage.objects.create(normal=SimpleUploadedFile('rewritten.txt', b'content'))
- with obj.normal as normal:
- normal.open('wb')
- normal.write(b'updated')
- obj.refresh_from_db()
- self.assertEqual(obj.normal.read(), b'updated')
- obj.normal.close()
-
def test_duplicate_filename(self):
# Multiple files with the same name get _(7 random chars) appended to them.
objs = [Storage() for i in range(2)]