【发布时间】:2020-02-07 08:01:33
【问题描述】:
我有一个项目,其中包含两个不同的应用:用户和学校。在我当前的实现中,用户应用程序包含一个从 Djagno 的 AbstractUser 派生的自定义用户类。它定义了允许的用户类型为学生或教师,用户必须在注册时选择一个。学校应用包含一个课堂模型,我需要将其与学生和一位或多位教师联系起来。
我在这里有两个主要问题。第一个是关于如何将教室模型与仅根据用户类型限制访问的特定用户相关联。我尝试在课堂模型中使用 ManyToManyField 关系,以便将实例与创建它的用户相关联(然后我稍后将允许用户添加学生)。看来我没有正确理解这个领域——它实际上是所有课堂实例的所有用户。这显然不符合我限制不同教室实例之间访问的要求。
OneToOneField 和 ForeignKey 似乎也不能满足我的需求。我已尝试将这些字段添加到我的用户,但随后我被限制为每个用户一个教室,这也是不可接受的。
我还尝试过创建名为“Classroom_A_teachers”和“Classroom_A_students”之类的组,然后为它们分配权限。这种方法似乎比必要的复杂。
我在这里忽略了什么吗?这是我的第一个 Django 项目,我很容易错过一些基本的东西。
问题二是关于添加教师和学生模型。我想让注册为教师的用户能够创建一个教室实例,然后用学生实例填充该教室。学生也可以选择创建一个帐户。他们会从老师那里收到一个教室 ID,输入它,然后他们的帐户将链接到教室实例。然后如何将此用户与现有的学生模型相关联?我一直在玩弄这个概念,但没有成功。
非常感谢任何见解!
【问题讨论】:
标签: python django django-models django-users