django admin中组合框中的筛选人员用户
我想在组合框django admin中只向员工用户展示我是如何做到这一点的django admin中组合框中的筛选人员用户,django,django-models,django-admin,Django,Django Models,Django Admin,我想在组合框django admin中只向员工用户展示我是如何做到这一点的 Article(models.Model): author = models.Foreignkey(User) ... # other fields 我只希望django admin组合框中显示staff用户。您可以使用以下选项限制选择: 来自django.conf导入设置的 文章(范本、范本): 作者=models.Foreignkey( settings.AUTH\u用户\u模型, 在_de
Article(models.Model):
author = models.Foreignkey(User)
...
# other fields
我只希望django admin组合框中显示staff用户。您可以使用以下选项限制选择: 来自django.conf导入设置的
文章(范本、范本):
作者=models.Foreignkey(
settings.AUTH\u用户\u模型,
在_delete=models.CASCADE上,
将_选项_限制为={'is_staff':True}
)
#…
如果使用ModelForm
或ModelAdmin
,这将过滤项目。但是,这并不是在数据库中强制执行的,因此如果进行ORM调用,仍然可以将作者链接到非工作人员。但是,如果您正确使用表单、模型管理员等,它将只向用户s提供is\u staff=True
注意:通常最好使用来引用用户模型,而不是直接使用。有关更多信息,请参见
谢谢,这是一个很好的方法,我总是使用settings.AUTH\u USER\u模型,但在这里写USER。
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}
)
# …