如何将模型保存到Django中的另一个数据库?

时间:2020-08-03 18:55:23

标签: django django-database

我有两个数据库:default和db_2。我只想将模型保存到db_2。这是我的数据库:

DATABASES = {
    'default': {
        'ENGINE': "django.db.backends.postgresql_psycopg2",
        'NAME': "default",
        "USER": "postgres",
        "HOST": "localhost",
        "PASSWORD": "password",
        "PORT": ""
    },
    'db_2': {
        'ENGINE': "django.db.backends.postgresql_psycopg2",
        'NAME': "db_2",
        "USER": "postgres",
        "HOST": "localhost",
        "PASSWORD": "password",
        "PORT": ""
    }
}

如果我不想在db_2中保存Django的服务表(如auth_group,auth_user等),该怎么办?这是我的路由器,但是不能正常工作。

class DBRouter:
    def __init__(self):
        self.allowed_models = [Book, Author, Genre, ]

    def db_for_read(self, model, **hints):
        if type(model) in self.allowed_models:
            return "db_2"
        return None

    def db_for_write(self, model, **hints):
        if type(model) in self.allowed_models:
            return "db_2"
        return None

    def allow_relation(self, obj1, obj2, **hints):
        if type(obj1) in self.allowed_models and type(obj2) in self.allowed_models:
            return True
        return False

谢谢。

0 个答案:

没有答案