小编典典

Django admin中的默认过滤器

python

如何从“全部”更改默认过滤器选择?我有一个名为领域status它有三个值:activatependingrejected。当我list_filter在Django
admin中使用时,过滤器默认情况下设置为“全部”,但我想默认将其设置为待处理。


阅读 210

收藏
2020-12-20

共1个答案

小编典典

class MyModelAdmin(admin.ModelAdmin):

    def changelist_view(self, request, extra_context=None):

        if not request.GET.has_key('decommissioned__exact'):

            q = request.GET.copy()
            q['decommissioned__exact'] = 'N'
            request.GET = q
            request.META['QUERY_STRING'] = request.GET.urlencode()
        return super(MyModelAdmin,self).changelist_view(request, extra_context=extra_context)
2020-12-20