diff options
author | Brian Helba <brian.helba@kitware.com> | 2020-08-24 15:27:22 -0400 |
---|---|---|
committer | Carlton Gibson <carlton@noumenal.es> | 2020-09-02 11:06:18 +0200 |
commit | 2d42e23b6d8fd76f93a96b2310b2c9dfd441d009 (patch) | |
tree | ee254a738ecfa26d59f2aac7994612b98ef00782 /django/db/models/fields/files.py | |
parent | ece18207cbb64dd89014e279ac636a6c9829828e (diff) | |
download | django-2d42e23b6d8fd76f93a96b2310b2c9dfd441d009.tar.gz |
Fixed #31941 -- Corrected FileField.deconstruct() with a callable storage.
Diffstat (limited to 'django/db/models/fields/files.py')
-rw-r--r-- | django/db/models/fields/files.py | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/django/db/models/fields/files.py b/django/db/models/fields/files.py index e10a5bb6d9..db2450a738 100644 --- a/django/db/models/fields/files.py +++ b/django/db/models/fields/files.py @@ -229,6 +229,8 @@ class FileField(Field): self.storage = storage or default_storage if callable(self.storage): + # Hold a reference to the callable for deconstruct(). + self._storage_callable = self.storage self.storage = self.storage() if not isinstance(self.storage, Storage): raise TypeError( @@ -279,7 +281,7 @@ class FileField(Field): del kwargs["max_length"] kwargs['upload_to'] = self.upload_to if self.storage is not default_storage: - kwargs['storage'] = self.storage + kwargs['storage'] = getattr(self, '_storage_callable', self.storage) return name, path, args, kwargs def get_internal_type(self): |