summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorTaoup <mahongtao0x7e0@163.com>2020-02-19 19:14:54 +0800
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-02-24 14:23:46 +0100
commit271fdab8b78af558238df51c64b4d1c8dd0792bb (patch)
tree0f4c0f12b8c60c9860a6a9926c87890c67191fa1 /django
parent94d4bd3a091dd9ac265e14619576b1ee568653b1 (diff)
Fixed #31286 -- Made database specific fields checks databases aware.
Follow up to 0b83c8cc4db95812f1e15ca19d78614e94cf38dd.
Diffstat (limited to 'django')
-rw-r--r--django/db/models/fields/__init__.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py
index 6bd95f542c..caa03665ea 100644
--- a/django/db/models/fields/__init__.py
+++ b/django/db/models/fields/__init__.py
@@ -335,12 +335,15 @@ class Field(RegisterLookupMixin):
else:
return []
- def _check_backend_specific_checks(self, **kwargs):
+ def _check_backend_specific_checks(self, databases=None, **kwargs):
+ if databases is None:
+ return []
app_label = self.model._meta.app_label
- for db in connections:
- if router.allow_migrate(db, app_label, model_name=self.model._meta.model_name):
- return connections[db].validation.check_field(self, **kwargs)
- return []
+ errors = []
+ for alias in databases:
+ if router.allow_migrate(alias, app_label, model_name=self.model._meta.model_name):
+ errors.extend(connections[alias].validation.check_field(self, **kwargs))
+ return errors
def _check_validators(self):
errors = []