首页 > 解决方案 > 如何在模型的管理视图中忽略某些对象

问题描述

如何在管理视图中忽略具有某些属性值的模型对象?

例如:不要列出 model.name = "Fire" 的对象

标签: djangodjango-models

解决方案


在 Admin.py 中,您可以覆盖get_queryset和调用 如下exclude方法。QuerySets

下面,查询集将排除标题以开头的 Post 对象hello 在您的情况下,查询集将是queryset.exclude(name="Fire")

@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
    fields = ["title", "body"]

    def get_queryset(self, request, *args, **kwargs):
        queryset = super().get_queryset(request, *args, **kwargs)
        #queryset = queryset.exclude(pk=1)
        queryset = queryset.exclude(title__startswith="hello")
        #queryset = queryset.exclude(name="Fire")
        # Write your own needs

        return queryset

推荐阅读