Browse Source

Reverted "Fixed #26398 -- Made FieldFile.open() respect its mode argument."

This reverts commit a52a531a8b34f049fba11c3ee7b010af7534bf90 due to
regressions described in refs #26772.
Tim Graham 8 years ago
parent
commit
7def55c3f6
2 changed files with 4 additions and 13 deletions
  1. 4 3
      django/db/models/fields/files.py
  2. 0 10
      tests/file_storage/tests.py

+ 4 - 3
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
 

+ 0 - 10
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)]