我正在构建一个web应用程序,它将允许两种不同类型的用户登录,每个用户组都可以访问站点上的不同页面。
由于收集到的信息对于每种类型的用户都是相似的,所以我计划只使用一个自定义用户模型,并为每个用户类型使用两个布尔字段。该模式的定义如下:
class My_Users(AbstractBaseUser):
...
is_active = models.BooleanField(default=True)
is_admin = models.BooleanField(default=False)
is_typeA = models.BooleanField(default=False)
is_typeB = models.BooleanField(default=False)
...我打算在其他模型中使用基于用户in的OneToOne字段,用于typeA和typeB用户。因此,例如,可以有:
class Model1(models.Model):
    id = models.OneToOneField(TypeA, on_delete=models.CASCADE,  primary_key=True,)
    ...
class Model2(models.Model):
    id = models.OneToOneField(TypeB, on_delete=models.CASCADE,  primary_key=True,)
    ...我的问题如下:
1/这将意味着在我的用户模型中创建的一些in将是typeA,另一些将是typeB。这会不会成为一对一的解脱的问题?也就是说,id不是增量(类型A可以是id 1、3、4、5等)是一个问题吗?而B型可能有ids 2、6、7等)一对一的关系。
这是最好的设置,以确保应用程序是可伸缩的。如果没有,那会是什么呢?
谢谢。
https://stackoverflow.com/questions/42260925
复制相似问题