Fixed #8175: don't open files we're about to close. This was a pesky bug to track down; thanks to charmless for tracking it down.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8637 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
c33aeaa082
commit
8943a857a7
|
@ -78,7 +78,12 @@ class FieldFile(File):
|
|||
save.alters_data = True
|
||||
|
||||
def delete(self, save=True):
|
||||
self.close()
|
||||
# Only close the file if it's already open, which we know by the
|
||||
# presence of self._file
|
||||
if hasattr(self, '_file'):
|
||||
self.close()
|
||||
del self._file
|
||||
|
||||
self.storage.delete(self.name)
|
||||
|
||||
self._name = None
|
||||
|
|
|
@ -40,5 +40,11 @@ if Image:
|
|||
>>> p.mug_width
|
||||
16
|
||||
|
||||
# Bug #8175: correctly delete files that have been removed off the file system.
|
||||
>>> import os
|
||||
>>> p2 = Person(name="Fred")
|
||||
>>> p2.mugshot.save("shot", ContentFile(image_data))
|
||||
>>> os.remove(p2.mugshot.path)
|
||||
>>> p2.delete()
|
||||
"""}
|
||||
|
Loading…
Reference in New Issue