Django,在模型外键中按组过滤用户

Posted

技术标签:

【中文标题】Django,在模型外键中按组过滤用户【英文标题】:Django, filter users by group in a model foreign key 【发布时间】:2012-06-22 12:12:01 【问题描述】:

我有一个博客帖子模型,其中帖子的所有者是用户的外键。使用该模型,任何用户都可以拥有一篇博文。我想对其进行更改,以便只有特定组中的用户(我们称其为“博主”)才能拥有博客文章对象。理想情况下,它也应该出现在管理员中,我的意思是现在在博客帖子管理员中,“所有者”的菜单列出了所有用户,它应该只列出“博主”组中的用户。 如何使用 Django 1.3 做到这一点?

【问题讨论】:

【参考方案1】:

在 ForeignKey 定义中使用 limit_choices_to 参数,如下所示:

author = models.ForeignKey("auth.User", limit_choices_to='groups__name': "bloggers")

【讨论】:

这很有帮助,谢谢。但是,如果我想将我的选择限制在多个组而不是一个组中怎么办?例如,我想选择“bloggers”组或“viewers”组中的用户。 简单。 author = models.ForeignKey("auth.User", limit_choices_to='groups__name__in': ["bloggers", "viewers"]) 我需要为上面的auth.User 做任何额外的导入吗?

以上是关于Django,在模型外键中按组过滤用户的主要内容,如果未能解决你的问题,请参考以下文章

在 Django admin 中,如何按组过滤用户?

在 dplyr 中按组过滤多个条件的条件 IF

在 Pandas 数据框中按组过滤具有最小值的行 [重复]

基于外键过滤数据 - Django

在 django 模板中过滤外键对象

如何在 django 中按日期范围过滤记录?