mirror of https://github.com/django/django.git
Fixed #25547 -- Made Model.refresh_from_db() update FileField's instance.
This commit is contained in:
parent
f5af68ba68
commit
6f229048dd
|
@ -202,6 +202,10 @@ class FileDescriptor(object):
|
||||||
file.field = self.field
|
file.field = self.field
|
||||||
file.storage = self.field.storage
|
file.storage = self.field.storage
|
||||||
|
|
||||||
|
# Make sure that the instance is correct.
|
||||||
|
elif isinstance(file, FieldFile) and instance is not file.instance:
|
||||||
|
file.instance = instance
|
||||||
|
|
||||||
# That was fun, wasn't it?
|
# That was fun, wasn't it?
|
||||||
return instance.__dict__[self.field.name]
|
return instance.__dict__[self.field.name]
|
||||||
|
|
||||||
|
|
|
@ -792,6 +792,11 @@ class FileFieldTests(unittest.TestCase):
|
||||||
except OSError:
|
except OSError:
|
||||||
self.fail("Deleting an unset FileField should not raise OSError.")
|
self.fail("Deleting an unset FileField should not raise OSError.")
|
||||||
|
|
||||||
|
def test_refresh_from_db(self):
|
||||||
|
d = Document.objects.create(myfile='something.txt')
|
||||||
|
d.refresh_from_db()
|
||||||
|
self.assertIs(d.myfile.instance, d)
|
||||||
|
|
||||||
|
|
||||||
class BinaryFieldTests(test.TestCase):
|
class BinaryFieldTests(test.TestCase):
|
||||||
binary_data = b'\x00\x46\xFE'
|
binary_data = b'\x00\x46\xFE'
|
||||||
|
|
Loading…
Reference in New Issue