首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一个位置显示与租户相关的所有用户

在一个位置显示与租户相关的所有用户
EN

Stack Overflow用户
提问于 2019-05-24 04:06:08
回答 1查看 614关注 0票数 0

我正在开发saas模型(django 2.1)中的一个应用程序。我使用django租户插件(https://github.com/tomturner/django-tenants)。

我的问题是显示"public“模式中的所有租户。以这种方式查看每个租户有多少用户,以便能够管理他们,等等。将外键放入用户模型中的租户并在注册过程中保存此列是一个好的体系结构解决方案吗?

有没有别的办法呢?

下面是伪代码示例:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2019-05-24 09:36:37

您可以使用以下代码遍历租户并获取每个租户的用户:

代码语言:javascript
复制
from django.db import connection
from django.contrib.auth import get_user_model
from tenant_schemas.utils import get_tenant_model


UserModel = get_user_model()
TenantModel = get_tenant_model()
for tenant in TenantModel.objects.all():
    connection.set_tenant(tenant)
    tenant_users = UserModel.objects.all()
    # Do whatever you want with your users
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56282243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档