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 -~----------~----~----~----~------~----~------~--~---