Multiples Bases de datos en Django ya apuntito
En la rama de código multidb se está terminando de implementar la
posibilidad de conectar múltiples bases de datos.
ficheros y haciendo los últimos merges de trunk/ a multidb/, parece que
se acerca el merge contrario, es decir, de multidb/ a trunk/. Aunque aún podemos usar la forma clásica (hasta la versión 1.4, donde se
proclamaría incompatible hacia atrás), vamos a introducir un poco como
sería... El settings cambiaría de los parámetros DATABASE_* al siguiente: DATABASES = {
'default': {
'NAME': 'foodb',
'BACKEND': 'django.db.backends.postgresl_psycopg2',
'HOST': 'masterdb.foodb.com',
}
'slave1': {
'NAME': 'foodb',
'BACKEND': 'django.db.backends.postgresl_psycopg2',
'HOST': 'slavedb1.foodb.com',
}
} Las consultas serían de este estilo: >>> qs1 = FooModel.objects.all() # el de siempre
>>> qs2 = FooModel.objects.filter(status='published').using('slave1') #
usando la base de datos secundaria Las manipulaciones serían así: >>> content.save() # guarda en "default"
>>> content.save(using='slave1')
>>> content.delete(using='slave1')
Para más información: http://code.djangoproject.com/browser/django/branches/soc2009/multidb/docs/to...