Added support for multiple database in the django models

Posted by kimus | May 19, 2009 @ 02:13 | Filed under: database, django

I needed to query different database engines with django so I added a manager that adds support for defining wish database settings to use.

It's very simple.

Add multiple database configurations to settings.py:

DATABASES = {
'oracle': {
'DATABASE_ENGINE' : 'oracle', ...

System Message: WARNING/2 (<string>, line 9)

Definition list ends without a blank line; unexpected unindent.

},

'sqlite': {
'DATABASE_ENGINE' : 'sqlite3', ...

System Message: WARNING/2 (<string>, line 14)

Definition list ends without a blank line; unexpected unindent.

},

System Message: WARNING/2 (<string>, line 15)

Definition list ends without a blank line; unexpected unindent.

}

create your model:

from django.db import models from blocks.apps.core.managers import MultiDBManager

class SomeModel(models.Model):

code = models.IntegerField(primary_key=True)

name = models.CharField(max_length=250)

objects = MultiDBManager()

class Meta:
db_name = 'oracle'