#33071: ContentType selects wrong DB in multiple DB setup
------------------------------------------------+------------------------
               Reporter:  Taylor H              |          Owner:  nobody
                   Type:  Uncategorized         |         Status:  new
              Component:  contrib.contenttypes  |        Version:  3.2
               Severity:  Normal                |       Keywords:
           Triage Stage:  Unreviewed            |      Has patch:  0
    Needs documentation:  0                     |    Needs tests:  0
Patch needs improvement:  0                     |  Easy pickings:  0
                  UI/UX:  0                     |
------------------------------------------------+------------------------
 I just introduced multiple DBs in my Django app to split up some of the
 write/read load. I found that ContentType does not work across multiple
 DBs with GenericForeignKey. It is hard coded to use the same DB as the
 source/parent model. Here is the code that has a hard coded .using().

 {{{
 def get_all_objects_for_this_type(self, **kwargs):
         """
         Return all objects of this type for the keyword arguments given.
         """
         return
 self.model_class()._base_manager.using(self._state.db).filter(**kwargs)
 }}}


 
https://github.com/django/django/blame/main/django/contrib/contenttypes/models.py#L181

 Is there are reason for hard coding using() here instead of using the DB
 router like other places in the code? If we could just removing the using
 everything just works

-- 
Ticket URL: <https://code.djangoproject.com/ticket/33071>
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/055.a0a52d640a447917db755f902057f2cc%40djangoproject.com.

Reply via email to