Для обычных запросов можно решить проблему таким способом: допустим, правило у нас выглядит так:
url(r'^api/(?P[\w.]+)/', include(api_urls.getUrls()))
Тогда можно при таком роутере:
class DbRouter(object):
VK_COM = 'default'
FACEBOOK_COM = 'facebook_com'
currentDb = None
def db_for_read(self, model, **hints):
return self.currentDb
def db_for_write(self, model, **hints):
return self.currentDb
def allow_relation(self, obj1, obj2, **hints):
return True
def allow_syncdb(self, db, model):
return True
Добавить в приложение такой middleware-класс:
class RouteDb(object):
def process_request(self, request):
pathInfo = request.META['PATH_INFO']
if pathInfo.find('/api/facebook.com') == 0:
DbRouter.currentDb = DbRouter.FACEBOOK_COM
elif pathInfo.find('/api/vk.com') == 0:
DbRouter.currentDb = DbRouter.VK_COM
Но остается проблема с меню администратора.