无法通过django-tenants获取租户的SaaS数据,显示所有数据而非特定租户数据
我正在用 django-tenants
构建一个网页应用,按照文档的说明一步步来,但还是遇到问题。我的应用应该根据不同的子域名和数据库模式(schema)来显示特定租户的数据,但我访问的无论哪个网址,显示的都是公共数据库中的所有数据,而不是特定租户的数据。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
应该是空的,因为我刚创建了这个新租户。我忽略了什么呢?
0 个回答
暂无回答