Skip to main content
 首页 » 编程设计

python之我如何告诉我的 ModelAdmin 的过滤器在默认情况下不显示所有记录

2025年05月04日11zlslch

我像这样在我的 Django 管理页面中添加了一个过滤器下拉列表。

class MyAdmin(admin.ModelAdmin): 
    list_filter = ('status',) 

默认情况下,如果您转到管理 View 中的模型,它会默认显示所有记录。 但我希望它过滤:

status="open" 

默认显示。这是可以实现的吗?

请您参考如下方法:

我认为你需要的是 ModelAdmin.ordering https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.ordering

如果你只需要 status='open' 你可以为你的 modeladmin 定义一个自定义的默认查询集 https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.queryset 并限制了你的 仅列出状态为“打开”的项目。 (注意)但是在这种情况下,管理员将无法访问其他记录 (status!='open')。