diff options
| author | Simon Charette <charette.s@gmail.com> | 2017-08-08 13:24:25 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-09-11 12:21:49 -0400 |
| commit | 13be45308045f522dfd1d0ff3da3cdc163bc521d (patch) | |
| tree | 932106aaa720c77c2a7d1c37ea6e8c0c020df1e4 /django/db/models/fields | |
| parent | c466ef3b34962e5ca7259297b163b4ad88beeda4 (diff) | |
Refs #28492 -- Stopped accessing settings at Field.db_tablespace initialization.
Deferring accesses to settings allows database fields to be initialized before
settings are loaded.
Diffstat (limited to 'django/db/models/fields')
| -rw-r--r-- | django/db/models/fields/__init__.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 40801d0be2..b0ab271723 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -158,7 +158,7 @@ class Field(RegisterLookupMixin): self.help_text = help_text self.db_index = db_index self.db_column = db_column - self.db_tablespace = db_tablespace or settings.DEFAULT_INDEX_TABLESPACE + self._db_tablespace = db_tablespace self.auto_created = auto_created # Adjust the appropriate creation counter, and save our local copy. @@ -423,7 +423,7 @@ class Field(RegisterLookupMixin): "choices": [], "help_text": '', "db_column": None, - "db_tablespace": settings.DEFAULT_INDEX_TABLESPACE, + "db_tablespace": None, "auto_created": False, "validators": [], "error_messages": None, @@ -433,8 +433,9 @@ class Field(RegisterLookupMixin): "error_messages": "_error_messages", "validators": "_validators", "verbose_name": "_verbose_name", + "db_tablespace": "_db_tablespace", } - equals_comparison = {"choices", "validators", "db_tablespace"} + equals_comparison = {"choices", "validators"} for name, default in possibles.items(): value = getattr(self, attr_overrides.get(name, name)) # Unroll anything iterable for choices into a concrete list @@ -688,6 +689,10 @@ class Field(RegisterLookupMixin): def unique(self): return self._unique or self.primary_key + @property + def db_tablespace(self): + return self._db_tablespace or settings.DEFAULT_INDEX_TABLESPACE + def set_attributes_from_name(self, name): if not self.name: self.name = name |
