summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2017-08-08 13:24:25 -0400
committerTim Graham <timograham@gmail.com>2017-09-11 12:21:49 -0400
commit13be45308045f522dfd1d0ff3da3cdc163bc521d (patch)
tree932106aaa720c77c2a7d1c37ea6e8c0c020df1e4 /django
parentc466ef3b34962e5ca7259297b163b4ad88beeda4 (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')
-rw-r--r--django/db/models/fields/__init__.py11
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