diff options
| author | Simon Charette <charette.s@gmail.com> | 2020-01-31 01:38:48 -0500 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-02-07 11:03:53 +0100 |
| commit | 71756bdfed5029bd14dce8cb3c5629efc4be55ac (patch) | |
| tree | 39c223acc21fc3373882dc5a6f0d1f801543d9e9 /django | |
| parent | 430e796980799feb75901b9918245b6b0bff3f54 (diff) | |
Fixed #31055 -- Made constraint checks support databases aware.
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/base.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/django/db/models/base.py b/django/db/models/base.py index 24453e218a..1d98ff407b 100644 --- a/django/db/models/base.py +++ b/django/db/models/base.py @@ -1255,6 +1255,7 @@ class Model(metaclass=ModelBase): def check(cls, **kwargs): errors = [*cls._check_swappable(), *cls._check_model(), *cls._check_managers(**kwargs)] if not cls._meta.swapped: + databases = kwargs.get('databases') or [] errors += [ *cls._check_fields(**kwargs), *cls._check_m2m_through_same_relationship(), @@ -1277,7 +1278,7 @@ class Model(metaclass=ModelBase): *cls._check_unique_together(), *cls._check_indexes(), *cls._check_ordering(), - *cls._check_constraints(), + *cls._check_constraints(databases), ] return errors @@ -1836,9 +1837,9 @@ class Model(metaclass=ModelBase): return errors @classmethod - def _check_constraints(cls): + def _check_constraints(cls, databases): errors = [] - for db in settings.DATABASES: + for db in databases: if not router.allow_migrate_model(db, cls): continue connection = connections[db] |
