mirror of
https://github.com/django/django.git
synced 2025-09-27 04:29:17 +00:00
Fixed #25547 -- Made Model.refresh_from_db() update FileField's instance.
This commit is contained in:
parent
f5af68ba68
commit
6f229048dd
2 changed files with 9 additions and 0 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue