Отношение "authentication_user" не существует в нескольких базах данных
мне нужна помощь Я использую несколько баз данных и у меня есть пользователь, теперь я хотел сохранить пользователей в базе данных и я хочу сохранить другие модели в другой базе данных, но я получил эту ошибку: django.db.utils.ProgrammingError: relation "authentication_user" does not exist
class AuthRouter:
route_app_labels = {
"auth",
"contenttypes",
"sessions",
"authentication",
"core",
"admin",
}
def db_for_read(self, model, **hints):
if model._meta.app_label in self.route_app_labels:
return "core_db"
return None
def db_for_write(self, model, **hints):
if model._meta.app_label in self.route_app_labels:
return "core_db"
return None
def allow_relation(self, obj1, obj2, **hints):
"""
Allow relations if a model in the auth or contenttypes apps is
involved.
"""
if (
obj1._meta.app_label in self.route_app_labels
or obj2._meta.app_label in self.route_app_labels
):
return True
return None
def allow_migrate(self, db, app_label, model_name=None, **hints):
"""
Make sure the auth and contenttypes apps only appear in the
'auth_db' database.
"""
if app_label in self.route_app_labels:
return db == "core_db"
return None
теперь это мой маршрутизатор :
class TicketRouter:
route_app_labels = {"ticket"}
def db_for_read(self, model, **hints):
if model._meta.app_label in self.route_app_labels:
return "ticket_db"
return None
def db_for_write(self, model, **hints):
if model._meta.app_label in self.route_app_labels:
return "ticket_db"
return None
def allow_relation(self, obj1, obj2, **hints):
"""
Allow relations if a model in the auth or contenttypes apps is
involved.
"""
if (
obj1._meta.app_label in self.route_app_labels
or obj2._meta.app_label in self.route_app_labels
):
return True
return None
def allow_migrate(self, db, app_label, model_name=None, **hints):
"""
Make sure the auth and contenttypes apps only appear in the
'auth_db' database.
"""
if app_label in self.route_app_labels:
return db == "ticket_db"
return None
и вот моя модель билета:
class Ticket(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
title = models.CharField(max_length=255, unique=True, null=False, blank=True)
type = models.IntegerField(choices=TYPE_CHOICES, default=1)
status = models.IntegerField(choices=STATUS_CHOICES, default=1)
impact = models.IntegerField(choices=IMPACT_CHOICES, default=1)
emergency = models.IntegerField(choices=EMERGENCY_CHOICES, default=1)
priority = models.CharField(max_length=50, unique=True, null=False, blank=True)
description = models.CharField(max_length=50, unique=True, null=False, blank=True)
is_deleted = models.BooleanField(default=False)
created_at = models.DateTimeField(auto_now_add=True)
closed_at = models.DateTimeField()
created_by = models.ForeignKey(
User,
on_delete=SET_NULL,
blank=False,
null=True,
related_name="ticket_created_by",
)
настройки:
"core_db": {
"ENGINE": "django.db.backends.postgresql",
"NAME": env("CORE_DB_NAME"),
"USER": env("CORE_DB_USER"),
"PASSWORD": env("CORE_DB_PASSWORD"),
"HOST": env("CORE_DB_HOST"),
"PORT": env("CORE_DB_PORT"),
},
"ticket_db": {
"ENGINE": "django.db.backends.postgresql",
"NAME": env("TICKET_DB_NAME"),
"USER": env("TICKET_DB_USER"),
"PASSWORD": env("TICKET_DB_PASSWORD"),
"HOST": env("TICKET_DB_HOST"),
"PORT": env("TICKET_DB_PORT"),
},
AUTH_USER_MODEL = "authentication.User"
DATABASE_ROUTERS = [
"routers.db_routers.AuthRouter",
"routers.db_routers.TicketRouter",
]