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]

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM