我有一个项目,其中包括两个不同的应用程序:用户和学校。在我当前的实现中,users应用程序包含一个从Djagno的AbstractUser派生的自定义用户类。它将允许的用户类型定义为学生或教师,用户在注册时必须选择一种。学校应用程序包含一个课堂模型,我需要将其与学生和一名或多名教师联系起来
我这里有两个主要问题。第一个是关于如何将教室模型与仅限制其访问的特定用户(基于其用户类型)关联。我尝试在教室模型中使用ManyToManyField关系,以便将实例与创建它的用户关联(然后我将允许用户添加学生)。看起来我没有正确理解这个字段——它实际上是所有用户对所有教室实例的访问。这显然不符合我在不同教室实例之间限制访问的要求
OneToOneField和ForeignKey似乎也不能满足我的需要。我已经尝试将这些字段添加到我的用户中,但是我被限制为每个用户一个教室,这也是不可接受的
我还尝试过创建名为“课堂教师”和“课堂学生”的小组,然后为他们分配权限。这种方法似乎比必要的更复杂
我是不是忽略了什么?这是我的第一个Django项目,我很容易错过一些基本的东西
问题二是关于添加教师和学生模型。我希望允许注册为教师的用户能够创建教室实例,然后用学生实例填充该教室。学生也可以选择创建一个帐户。他们将从老师那里收到一个教室ID,输入它,然后他们的帐户将链接到教室实例。然后如何将此用户与现有的学生模型关联?我一直在玩弄这个概念,但没有成功
非常感谢您的任何见解
它不应该那样做。它可以在Django管理员中看起来就是这样。实际上,在ManyToMany字段中只有高亮显示/灰色的字段
许多适用于您的用例
相关问题 更多 >
编程相关推荐