Django-tenants AssertionError: Первым параметром ForeignKey должна быть либо модель, либо имя модели, либо строка 'self'
Я пытаюсь реализовать приложение для аренды с помощью django-tenants, но когда я пытаюсь сделать миграции, возникает эта ошибка
AssertionError: ForeignKey(('users.User','rooms.Room','rooms.City')) is invalid. First parameter to ForeignKey must be either a model, a model name, or the string 'self'
моя версия django - 3.2
.from django_tenants.models import TenantMixin, DomainMixin
class User(AbstractBaseUser,PermissionsMixin,TenantMixin):
username = models.CharField(max_length=80,unique=True)
active = models.BooleanField(default=True)
#others
USERNAME_FIELD = 'username'
objects = AccountManager()
def __str__(self):
return self.username
def has_perm(self,perm,obj=None):
return True
def has_module_perms(self,app_label):
return True
class Domain(DomainMixin):
pass
class Room(TenantMixin):
room_no = models.IntegerField()
beds = models.IntegerField(default=2)
здесь мой settings.py
SHARED_APPS = [
'django_tenants',
'users',
'rooms',
'rosetta',
'widget_tweaks',
'import_export',
'django.contrib.contenttypes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
TENANT_APPS = [
'django.contrib.contenttypes',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
INSTALLED_APPS = list(SHARED_APPS) + [app for app in TENANT_APPS if app not in SHARED_APPS]
TENANT_MODEL = (
"users.User","rooms.Room","rooms.City"
)
TENANT_DOMAIN_MODEL = "users.Domain"
средние классы на вершине
'django_tenants.middleware.main.TenantMainMiddleware',
мои настройки базы данных
DATABASES = {
'default': {
'ENGINE': 'django_tenants.postgresql_backend',
другие настройки
DATABASE_ROUTERS = (
'django_tenants.routers.TenantSyncRouter',
)
DEFAULT_FILE_STORAGE = 'django_tenants.storage.TenantFileSystemStorage'
Я попробовал несколько библиотек, но так и не смог внедрить аренду в свое приложение
note there are some more model class all of them inherited from TenantMixin
thank you for helping ..