51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
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 (isinstance(obj1, Member) and obj2._meta.app_label == self.app_label) or \
|
|
(isinstance(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
|