I setup a git repository http://github.com/weigj/django-multidb/tree/master for
it.
I patched fields, query and manager, so Model.objects.using('db1') is work now,
like this:
users = User.objects.using('db1').filter(....)
for user in users:
user.save(using='db2')
Wei guangjing
----- Original Message -----
From: "wei guangjing" <[email protected]>
To: <[email protected]>
Sent: Sunday, December 28, 2008 12:00 PM
Subject: Re: Multi Database use with statement
> Please see the attached patch for using in models's Meta option, I also like
> this option.
>
> This patch export some helper function from django.db,
>
> get_connection(name) get database connection by name
> get_current_connection() get current connection
>
> you can use follow function to ensure use special db connection:
> enter_connection_management(connection)
> leave_connection_management()
>
> Wei guangjing
>
>
> ----- Original Message -----
> From: "mtrier" <[email protected]>
> To: "Django developers" <[email protected]>
> Sent: Sunday, December 28, 2008 10:37 AM
> Subject: Re: Multi Database use with statement
>
>
>
> Hi Wei,
>
> On Dec 27, 6:23 am, "wei guangjing" <[email protected]> wrote:
>> Hi,
>>
>> I write a patch for using with statement in python 2.5 and up for multi
>> database access, example code like this:
>>
>> # test.py
>> from __future__ import with_statement
>> from django.contrib.auth.models import User
>> from django.db import using
>>
>> with using('db1'):
>> print User.objects.count() # db1 user count
>> with using('db2'):
>> print User.objects.count() # db2 user count
>> print User.objects.count() # default db user count
>>
>
> A couple of ideas to throw in the mix. I'd like to see a Meta
> option. Like:
>
> Meta:
> using = 'db2'
>
> So you have a default for your model.
>
> Additionally what about just using the generative syntax for the
> using. It doesn't seem that a lot is to be gained by using the
> context manager. For instance:
>
> User.objects.using('db2').all()
>
> Also when thinking about third-party plugable applications you have to
> consider how you're going to handle that. If you have a third party
> app and you want it to all be directed to a particular database, how
> does that get handled in your scenario above?
>
> Just a couple of things to consider.
>
> Michael Trier
>
>
> >
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---