繁体   English   中英

在 django 管理员的组合框中过滤人员用户

[英]filter staff user in combo box in django admin

我只想在组合框中显示员工用户 django 管理员我是如何做到的。

Article(models.Model):
    author = models.Foreignkey(User)
    ...
    # other fields

我只想在 django 管理组合框中显示员工用户。

您可以使用limit_choices_to=…参数 [Django-doc]来限制选择:

from django.conf import settings

Article(models.Model):
    author = models.Foreignkey(
        settings.AUTH_USER_MODEL,
        on_delete=models.CASCADE,
        limit_choices_to={'is_staff': True}
    )
    # …

如果您使用ModelAdminModelForm ,这将过滤项目。 然而,这并没有在数据库中强制执行,因此如果您进行 ORM 调用,仍然可以将author链接到编外人员。 但是,如果您正确使用 forms、model 管理员等,那么它只会显示带有is_staff=TrueUser


注意:通常最好使用settings.AUTH_USER_MODEL [Django-doc]来引用用户 model,而不是直接使用User model [Django-doc] 有关更多信息,您可以查看参考文档的User model部分

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM