Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django admin中组合框中的筛选人员用户_Django_Django Models_Django Admin - Fatal编程技术网

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

我想在组合框django admin中只向员工用户展示我是如何做到这一点的

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}
    )
    # …