【发布时间】:2021-06-10 17:08:52
【问题描述】:
我只想在组合框 django admin 中显示员工用户我最常做的事情。
Article(models.Model):
author = models.Foreignkey(User)
...
# other fields
我只想在 django 管理组合框中显示员工用户。
【问题讨论】:
标签: django django-models django-admin
我只想在组合框 django admin 中显示员工用户我最常做的事情。
Article(models.Model):
author = models.Foreignkey(User)
...
# other fields
我只想在 django 管理组合框中显示员工用户。
【问题讨论】:
标签: django django-models django-admin
您可以使用limit_choices_to=… parameter [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}
)
# …
如果您使用ModelForm 或ModelAdmin,这将过滤项目。然而,这不在数据库中强制执行,因此如果您进行 ORM 调用,仍然可以将 author 链接到非员工成员。但如果你正确使用表单、模型管理员等,它只会显示Users 和is_staff=True。
注意:通常使用
settings.AUTH_USER_MODEL[Django-doc] 引用用户模型比直接使用Usermodel [Django-doc] 更好。更多信息可以查看referencing theUsermodel section of the documentation。
【讨论】: