cmsmanage/paperwork/routers.py

51 lines
1.3 KiB
Python
Raw Normal View History

from .models import Member
class PaperworkRouter:
app_label = 'paperwork'
db = 'cms'
def db_for_read(self, model, **hints):
if model._meta.app_label == self.app_label:
return self.db
return None
def db_for_write(self, model, **hints):
if model._meta.app_label == self.app_label:
return self.db
return None
def allow_relation(self, obj1, obj2, **hints):
if (obj1 == Member and obj2._meta.app_label == self.app_label) or \
(obj2 == Member and obj1._meta.app_label == self.app_label):
return True
return None
def allow_migrate(self, db, app_label, model_name=None, **hints):
if db == self.db:
return False
return None
# TODO: this is pretty hacky/special cased
class MembershipWorksRouter:
db = 'membershipworks'
def db_for_read(self, model, **hints):
if model == Member:
return self.db
return None
def db_for_write(self, model, **hints):
if model == Member:
return self.db
return None
def allow_relation(self, obj1, obj2, **hints):
return None
def allow_migrate(self, db, app_label, model_name=None, **hints):
if db == self.db:
return False
return None