我有一个非常简单的项目,其中包含一个带有以下 models.py 的应用程序:
class UserAccount:
user = models.OneToOneField(User)
additional = models.CharField(max_length=100)
class Project:
name = models.CharField(max_length=100)
description = models.CharField(max_length=200, blank=True, null=True)
class Record:
user_account = models.ForeignKey(UserAccount)
project = models.ForeignKey(Project)
date = models.DateTimeField()
我希望不同的团队能够使用这个应用程序。但是,我希望表格以某种方式分开(不希望所有帐户、项目和记录都在同一个表格中)。
一种解决方案是为每个团队复制这个应用程序,这很糟糕。另一种是使用类似https://github.com/bcarneiro/django-tenant-schemas的东西,但我想避免使用多个子域。
我想管理网址的方式是:
- mysite.com/teamA/
- mysite.com/teamB/
- mysite.com/admin/teamA/
- mysite.com/admin/teamB/
我在网上阅读了很多关于 Django 中的多租户的文章,但没有找到适合我需要的解决方案:
- 1 个数据库,但不是所有租户数据都在同一个表中
- 不使用站点或子域,而是使用:mysite.com/tenant1/、mysite.com/tenant2/、
谢谢你的帮助!