如何将用户链接到组,在该组中,用户只能查看Django中该组中其他用户的帖子

时间:2019-07-15 16:34:28

标签: python django authentication django-models foreign-keys

我有一堂课,满是学生。班上有很多学生。我希望每个小组中的学生只能查看他们小组中学生的帖子。

我不确定是要通过django管理员进行分组,还是要创建名为class_group的模型。我希望能够将学生添加到这些组之一。

我不知道如何使用模型路线,因为我不确定如何为用户提供模型的外键。

任何建议都会有所帮助!

1 个答案:

答案 0 :(得分:0)

来自django内置身份验证后端的组是权限组。您可以将用户分配给该组,以快速为其授予权限。

这意味着您将需要针对学生群体的单独模型StudentGroup。 显然,您还需要针对各个学生的模型Student。 假设一个学生可以有多个组,则模型Student的范围是ManyToManyFieldStudentGroup。我们将该字段称为groups

该模型还应具有内置ForeignKey模型的User:已解释的here
Post模型应该包含一个回到ForeignKey的{​​{1}}(我们将其称为Student),以便每个author只能有一个作者。
然后,您可以使用以下查询获得所有允许的帖子:

Post