我有一堂课,满是学生。班上有很多学生。我希望每个小组中的学生只能查看他们小组中学生的帖子。
我不确定是要通过django管理员进行分组,还是要创建名为class_group的模型。我希望能够将学生添加到这些组之一。
我不知道如何使用模型路线,因为我不确定如何为用户提供模型的外键。
任何建议都会有所帮助!
答案 0 :(得分:0)
来自django内置身份验证后端的组是权限组。您可以将用户分配给该组,以快速为其授予权限。
这意味着您将需要针对学生群体的单独模型StudentGroup
。
显然,您还需要针对各个学生的模型Student
。
假设一个学生可以有多个组,则模型Student
的范围是ManyToManyField
至StudentGroup
。我们将该字段称为groups
。
该模型还应具有内置ForeignKey
模型的User
:已解释的here。
Post
模型应该包含一个回到ForeignKey
的{{1}}(我们将其称为Student
),以便每个author
只能有一个作者。
然后,您可以使用以下查询获得所有允许的帖子:
Post