diff options
| author | Tim Graham <timograham@gmail.com> | 2016-06-17 21:04:02 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-06-17 21:04:02 -0400 |
| commit | 7def55c3f6716fcfa40a3bd5d0fbb2090588d81e (patch) | |
| tree | a2b2207276d162726458d8133d8185583a9b52d1 | |
| parent | 91e9be45ed5ad3b0c3de8890a4fcdbb68836856f (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.py | 7 | ||||
| -rw-r--r-- | tests/file_storage/tests.py | 10 |
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)] |
