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

标签 python django

我像这样在我的 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')。

关于python - 我如何告诉我的 ModelAdmin 的过滤器在默认情况下不显示所有记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6858060/

相关文章:

python - 我应该使用哪种数据库模型在运行时动态修改实体/属性?

python - 通过异步 websocket 客户端与 websocket 服务器保持连接

python - 将分组项保存到不同的 Excel 工作表

django - 这是PyCharm 4.0.5中的错误吗?

django 表单和 __init__ 函数 : unexpected keyword argument 'user'

python - 在 python 中从 __init__ 调用另一个成员函数

python - Django ;通过相关对象的计数查询数据库

python - Django ORM : how can i see last executed query on fly

python - 为什么 Django 将其称为 "views.py"而不是 Controller ?

javascript - Arc SVG 参数