django admin list_filter的使用

一、举例

class CategoryTreeRelatedFieldListFilter(admin.SimpleListFilter):
    title = _('课程章节')
    parameter_name = 'chapter'

    def lookups(self, request, model_admin):
        chapter = Category.objects.filter(level=2)
        res = []
        for c in chapter:
            res.append((c.id,c.name))
        return res   #它返回过去的值给了request.GEt

    def queryset(self, request, queryset):
        chapter = request.GET
        if not chapter:
            return queryset

        return Category.objects.get(id=chapter['chapter']).coursewares.all()
class CourseWareAdmin(admin.ModelAdmin):
    change_form_template = 'infrastructure/courseware_change_form.html'
    change_list_template = 'infrastructure/courseware_change_list.html'
    search_fields = ('name',)

    list_filter = ['tags5__name', CategoryTreeRelatedFieldListFilter]

猜你喜欢

转载自www.cnblogs.com/haiyan123/p/9541240.html
今日推荐