[英]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}
)
# …
如果您使用ModelAdmin
或ModelForm
,这将过滤项目。 然而,这并没有在数据库中强制执行,因此如果您进行 ORM 调用,仍然可以将author
链接到编外人员。 但是,如果您正确使用 forms、model 管理员等,那么它只会显示带有is_staff=True
的User
。
注意:通常最好使用
settings.AUTH_USER_MODEL
[Django-doc]来引用用户 model,而不是直接使用User
model [Django-doc] 。 有关更多信息,您可以查看参考文档的User
model部分。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.