# Copyright 1998-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 class TBCRouter(object): def db_for_read(self, model, **hints): "Point all operations on tbc models to 'tbc'" if model._meta.app_label == 'tbc_www': return 'tbc' return 'default' def db_for_write(self, model, **hints): "Point all operations on tbc models to 'tbc'" if model._meta.app_label == 'tbc_www': return 'tbc' return 'default' def allow_relation(self, obj1, obj2, **hints): "Allow any relation if a both models in tbc app" if obj1._meta.app_label == 'tbc_www' and obj2._meta.app_label == 'tbc_www': return True # Allow if neither is tbc app elif 'tbc_www' not in [obj1._meta.app_label, obj2._meta.app_label]: return True return False def allow_migrate(self, db, model): if db == 'tbc' or model._meta.app_label == "tbc_www": return False # we're not using syncdb on our legacy database else: # but all other models/databases are fine return True