diff options
| author | Taoup <mahongtao0x7e0@163.com> | 2020-02-19 19:14:54 +0800 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-02-24 14:23:46 +0100 |
| commit | 271fdab8b78af558238df51c64b4d1c8dd0792bb (patch) | |
| tree | 0f4c0f12b8c60c9860a6a9926c87890c67191fa1 /django | |
| parent | 94d4bd3a091dd9ac265e14619576b1ee568653b1 (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__.py | 13 |
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 = [] |
