Ich habe 2 Datenbanken in meinen Projekten mit mehreren Apps. Alle Apps mit Ausnahme einer verwenden die Standard-db, die andere hat eine separate db. Nach dem Ausführen von Makemigrationen und ./manage.py migrieren --database = seperate_db_name Ich habe immer noch nicht angewendet Migration für die Standarddatenbank ausstehend.Durchführen von Migrationen mit mehreren Datenbanken in Django
Die Frage ist, wie kann ich diese Migration nur für meine separate App sichtbar machen und nicht andere (die Standard-db verwenden). Dank
Hier ist mein Router
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