#31286: Database specific fields checks should be databases aware.
-------------------------------------+-------------------------------------
     Reporter:  Hongtao Ma           |                    Owner:  nobody
         Type:  Bug                  |                   Status:  new
    Component:  Database layer       |                  Version:  master
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:
     Keywords:                       |             Triage Stage:  Accepted
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  1                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Changes (by felixxm):

 * cc: Simon Charette (added)
 * easy:  0 => 1
 * stage:  Unreviewed => Accepted


Comment:

 Thanks, this was missed in 0b83c8cc4db95812f1e15ca19d78614e94cf38dd. We
 should use here the same approach and pass `databases` to these checks:
 {{{
 diff --git a/django/db/models/fields/__init__.py
 b/django/db/models/fields/__init__.py
 index 6bd95f542c..c54b8f6e31 100644
 --- a/django/db/models/fields/__init__.py
 +++ b/django/db/models/fields/__init__.py
 @@ -335,11 +335,13 @@ class Field(RegisterLookupMixin):
          else:
              return []

 -    def _check_backend_specific_checks(self, **kwargs):
 +    def _check_backend_specific_checks(self, databases=None, **kwargs):
          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)
 +        if databases is None:
 +            return []
 +        for alias in databases:
 +            if router.allow_migrate(alias, app_label,
 model_name=self.model._meta.model_name):
 +                return connections[alias].validation.check_field(self,
 **kwargs)
          return []

      def _check_validators(self):
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/31286#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/063.e5868ed0a9ba75b795285b35c5a2a204%40djangoproject.com.

Reply via email to