我有两个数据库在我的项目与多个应用程序。除一个应用程序外,所有应用程序都使用默认数据库,另一个应用程序有一个单独的数据库。在我运行makemigrations和/管理.pymigrate--database=separate_db_name默认数据库仍有未应用的迁移挂起。在
问题是,我如何才能使这个迁移只对我的独立应用程序可见,而不是其他应用程序(使用默认数据库)可见。谢谢
这是我的路由器
class S3DatabaseRouter(object):
"""
Determine how to route calls for s3web_upload_dev database
"""
def db_for_read(self, model, **hints):
"""
Attempts to read s3web_upload models to go to s3web_upload_dev
"""
if model._meta.app_label == 's3web_upload':
return 's3web_upload_dev'
return None
def db_for_write(self, model, **hints):
"""
Attempts to write s3web_upload models to go to s3web_upload_dev
"""
if model._meta.app_label == 's3web_upload':
return 's3web_upload_dev'
return None
def allow_migrate(self, db, app_label, model_name=None, **hints):
"""
Make sure the s3web_upload app only appears in the 's3web_upload_dev' database
"""
if app_label == 's3web_upload':
return db == 's3web_upload_dev'
return None
对于使用default db的应用程序也需要在router类中路由,请尝试以下代码,它应该可以工作。在
相关问题 更多 >
编程相关推荐