#14566: Multiple database issue v1.2.3 - Django reading the wrong database ---------------------------------------------------+------------------------ Reporter: stodge | Owner: nobody Status: new | Milestone: Component: Database layer (models, ORM) | Version: 1.2 Resolution: | Keywords: Stage: Unreviewed | Has_patch: 0 Needs_docs: 0 | Needs_tests: 0 Needs_better_patch: 0 | ---------------------------------------------------+------------------------ Changes (by Alex):
* needs_better_patch: => 0 * needs_tests: => 0 * needs_docs: => 0 Old description: > I have two PostgreSQL (postgresql_psycopg2) databases defined in my > settings; default and scenes. > > If I perform a filter using the 'scenes' DB I get the expected results: > > Scene.objects.filter(name__contains='ME').using('scenes') > [<Scene: Scene object>, <Scene: Scene object>] > > If I perform a get(), Django seems to get completely confused and appears > to read the data from the default database: > > Scene.objects.get(id=3).using('scenes') > Traceback (most recent call last): > File "<console>", line 1, in <module> > File "/usr/lib/python2.6/site-packages/django/db/models/manager.py", > line 132, in get > return self.get_query_set().get(*args, **kwargs) > File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line > 336, in get > num = len(clone) > File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line > 81, in __len__ > self._result_cache = list(self.iterator()) > File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line > 269, in iterator > for row in compiler.results_iter(): > File "/usr/lib/python2.6/site- > packages/django/db/models/sql/compiler.py", line 672, in results_iter > for rows in self.execute_sql(MULTI): > File "/usr/lib/python2.6/site- > packages/django/db/models/sql/compiler.py", line 727, in execute_sql > cursor.execute(sql, params) > File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", > line 15, in execute > return self.cursor.execute(sql, params) > File "/usr/lib/python2.6/site- > packages/django/db/backends/postgresql_psycopg2/base.py", line 44, in > execute > return self.cursor.execute(query, args) > DatabaseError: relation "scene" does not exist > LINE 1: ...le", "scene"."datasets", "scene"."transform" FROM "scene" > WH... > > Anyone else seen this? > > Thanks New description: I have two PostgreSQL (postgresql_psycopg2) databases defined in my settings; default and scenes. If I perform a filter using the 'scenes' DB I get the expected results: {{{ Scene.objects.filter(name__contains='ME').using('scenes') [<Scene: Scene object>, <Scene: Scene object>] }}} If I perform a get(), Django seems to get completely confused and appears to read the data from the default database: {{{ Scene.objects.get(id=3).using('scenes') Traceback (most recent call last): File "<console>", line 1, in <module> File "/usr/lib/python2.6/site-packages/django/db/models/manager.py", line 132, in get return self.get_query_set().get(*args, **kwargs) File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 336, in get num = len(clone) File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 81, in __len__ self._result_cache = list(self.iterator()) File "/usr/lib/python2.6/site-packages/django/db/models/query.py", line 269, in iterator for row in compiler.results_iter(): File "/usr/lib/python2.6/site- packages/django/db/models/sql/compiler.py", line 672, in results_iter for rows in self.execute_sql(MULTI): File "/usr/lib/python2.6/site- packages/django/db/models/sql/compiler.py", line 727, in execute_sql cursor.execute(sql, params) File "/usr/lib/python2.6/site-packages/django/db/backends/util.py", line 15, in execute return self.cursor.execute(sql, params) File "/usr/lib/python2.6/site- packages/django/db/backends/postgresql_psycopg2/base.py", line 44, in execute return self.cursor.execute(query, args) DatabaseError: relation "scene" does not exist LINE 1: ...le", "scene"."datasets", "scene"."transform" FROM "scene" WH... }}} Anyone else seen this? Thanks Comment: Reformatted description, please use preview. -- Ticket URL: <http://code.djangoproject.com/ticket/14566#comment:1> Django <http://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 post to this group, send email to django-upda...@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.