Hi There,
I've had similar problems and it comes down to the line in query.py that
looks in backend and sets QuerySet to _QuerySet or backend.QuesrySet if
there is one... I've also written some code to mitigate against this, and
I'd suggest anyone with an interest gets together on this so that we're not
all running round fixing the same problems! Perhaps it's time to update the
multi-db wiki page to get some ideas together on how we can move forward
with the branch, especially given recent changes in backend and forthcoming
ones in QuerySet stuff. I've been mega busy lately and haven't had time to
write anything up, I also don't have internet at home at the moment so even
emailing might be a bit intermittent!
What do you all think?
Ben


On 18/10/2007, Carlos Hanson <[EMAIL PROTECTED]> wrote:
>
>
> On Oct 17, 1:29 pm, Carlos Hanson <[EMAIL PROTECTED]> wrote:
> > On Oct 17, 12:33 am, koenb <[EMAIL PROTECTED]> wrote:
> >
> > > In the latest patches for multi-db the QuerySet that is returned is no
> > > longer fixed, but varies with the model's manager. That should fix
> > > that problem for now.
> >
> > > Koen
> >
> > I've installed the latest patches for multi-db agains revision 6453.
> > It had the same problem.  Then I removed the import connection and
> > replaced it as suggested and got the following:
> >
> > Traceback (most recent call last):
> >   File "<console>", line 1, in ?
> >   File "/usr/local/lib64/python2.4/site-packages/django/db/models/
> > manager.py", line 65, in all
> >     return self.get_query_set()
> >   File "/usr/local/lib64/python2.4/site-packages/django/db/models/
> > manager.py", line 56, in get_query_set
> >     QS = self.db.connection.ops.query_set_class(_QuerySet)
> >   File "/usr/local/lib64/python2.4/site-packages/django/db/backends/
> > oracle/base.py", line 96, in query_set_class
> >     connection = self.model._default_manager.db.connection
> > AttributeError: 'DatabaseOperations' object has no attribute 'model'
> >
> > > On 17 okt, 09:03, Ian <[EMAIL PROTECTED]> wrote:
> >
> > > > I don't know anything about the multi-db branch, but I imagine that
> > > > whatever QuerySet does to get the correct connection should work in
> > > > OracleQuerySet as well.
> >
> > > > Note the mere existence of OracleQuerySet will still be problematic
> in
> > > > multi-db environments that mix Oracle databases with non-Oracle
> > > > databases, since OracleQuerySet replaces QuerySet entirely when
> Oracle
> > > > is used.  However, OracleQuerySet is a hack that will be going away
> > > > after the QuerySet refactor, which solves both problems in the long
> > > > run.
> >
> > > > Ian
> >
> > I will take a look at what QuerySet does to get the connection and see
> > how it differs from OracleQuerySet.
> >
> > Thanks.  If you have anything else, I appreciate it.  If I happen to
> > solve the problem, you'll see it here.
> >
> > Carlos
>
> I put the following line in the wrong place:
>
>   connection = self.model._default_manager.db.connection
>
> It needs to go in two places in the OracleQuerySet:  first, in the
> iterator() method; second, in the _get_sql_clause() method.  The
> original import made connection a global name, and the reference to
> self.model is not valid at that point.  It must be in the
> OracleQuerySet methods.
>
> Thanks for the help.
>
> Carlos
>
>
> >
>


-- 
Regards,
Ben Ford
[EMAIL PROTECTED]
+6281317958862

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to