Невозможно получить данные SaaS для арендатора с помощью django-tenants, отображаются все данные, а не данные конкретного арендатора
Я создаю веб-приложение с использованием django-tenants
и тщательно следую документации, но все еще испытываю проблемы с отображением данных для арендатора, специфичных для его поддомена и схемы. Вместо этого я получаю все данные из общедоступной схемы, а не из схемы, специфичной для арендатора, независимо от URL, к которому я обращаюсь. В tenant.models
есть мои модели арендатора и поддомена. А затем apps
- мои django-приложения, которые я хочу использовать для всех арендаторов.
Я полагаю, что моя проблема заключается в том, что у меня есть общие и арендаторские приложения, но при различных комбинациях ничего не меняется на переднем плане.
tenant.models.py:
class MspCompany(MyBaseModel, TenantMixin):
company_name = models.CharField(max_length=60)
industry_type = models.CharField(max_length=68, choices=INDUSTRY_TYPE)
email = models.EmailField(max_length=150, unique=True)
owner_name = models.CharField(max_length=60, blank=True, null=True)
description = models.TextField(blank=True, null=True)
picture = models.ImageField(upload_to='images/company',blank=True,null=True)
users = models.ForeignKey(settings.AUTH_USER_MODEL,
related_name='users',
on_delete=models.CASCADE
)
class Domain(DomainMixin):
pass
общие приложения и приложения арендаторов:
SHARED_APPS = [
'django_tenants',
'tenants',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'whitenoise.runserver_nostatic',
'django.contrib.sites',
"mathfilters",
"crispy_forms", # Crispy Forms
"social_django",
"django_extensions",
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.google',
'multiselectfield',
'phone_field',
'djstripe',
'chat',
'ckeditor',
'ckeditor_uploader',
'taggit'
]
TENANT_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
"dashboards",
"apps",
'accounts',
"layouts",
"components",
"pages",
]
На изображениях ниже видно, что данные одинаковы независимо от того, какой поддомен я ввожу. probleu.localhost
должен быть пустым, так как я только что создал нового арендатора. Что я упускаю из виду?