如何在Django管理外键过滤器list

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Django管理外键过滤器list相关的知识,希望对你有一定的参考价值。

参考技术A 将 list_filter 中的外键字段改为 foreign_key__related_fieldname 这种形式就可以了。 这种用法适用于 ForeignKey 及 ManyToManyField 。

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

【中文标题】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管理外键过滤器list的主要内容,如果未能解决你的问题,请参考以下文章

Django 管理员过滤外键组合框

当在另一个下拉列表上进行选择时,如何在 Django 的管理员中过滤下拉列表

如何在 Django 管理页面中显示外键的属性

如何像管理面板一样在 Django 的外键中添加新项目?

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

如何通过Django中的prefetch_related过滤具有多个条件的反向外键