我正在开发一个需要两个数据库的项目——一个用于“注销”部分,一个用于登录。我需要将身份验证(以及内容类型)应用程序同步到两个数据库,这工作正常。但是,用于创建默认 Permission 和 ContentType 对象的 auth 和 contenttypes 的管理命令并未在登录的数据库上运行,仅在默认数据库上运行。我有这个权利吗?
我的数据库路由器
LOGGED_IN_APPS = ('avatar', 'guardian', 'money', 'ipn', 'schedule', 'studio')
COMMON_APPS = ('auth', 'contenttypes', 'registration')
class MyRouter(object):
def db_for_read(self, model, **hints):
if model._meta.app_label in LOGGED_IN_APPS:
return 'logged_in'
return None
def db_for_read(self, model, **hints):
if model._meta.app_label in LOGGED_IN_APPS:
return 'logged_in'
return None
def allow_relation(self, obj1, obj2, **hints):
if obj1._meta.app_label in LOGGED_IN_APPS or obj2._meta.app_label in LOGGED_IN_APPS:
return True
return None
def allow_syncdb(self, db, model):
if db == 'logged_in':
return model._meta.app_label in LOGGED_IN_APPS or model._meta.app_label in COMMON_APPS
elif model._meta.app_label in LOGGED_IN_APPS:
return False
return None