Я работаю над приложением в модели saas (django 2.1).Я использую плагин арендаторов django (https://github.com/tomturner/django-tenants).
. Моя задача - отобразить всех арендаторов в «общедоступной» схеме. Таким образом, чтобы увидеть, сколько у каждого арендатора есть пользователей, чтобы иметь возможность управлять имии т. д. Является ли хорошим архитектурным решением поместить внешний ключ в Tenant в модели User и сохранить этот столбец во время процесса регистрации?
Есть ли другой способ сделать это?
НижеНапример, псевдокод:
class Tenant(TenantMixin):
name = models.CharField(_('Name of company'), max_length=50, unique=True)
on_trial = models.BooleanField(default=True)
paid_until = models.DateTimeField()
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
auto_create_schema = True
def __str__(self):
return self.name
def get_name(self):
return self.name
class Domain(DomainMixin):
pass
class User(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(_('Email address'), unique=True)
first_name = models.CharField(_('First name'), max_length=60, blank=True)
last_name = models.CharField(_('Last name'), max_length=60, blank=True)
member_of_company = models.ForeignKey(Tenant, on_delete=models.CASCADE, related_name='users', null=True, blank=True)