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