booktest31-管理後臺列表頁

1.修改AreaInfo模型類

class AreaInfo(models.Model):
    #verbose_name設定字段列標題
    atitle = models.CharField(verbose_name='標題', max_length=20)
    # 關係屬性
    aparent = models.ForeignKey('self', on_delete=models.CASCADE, null=True, blank=True)

    # class Meta:
    #     db_table='areainfo'
    def __str__(self):
        return self.atitle

    def title(self):
        return  self.atitle
    #設定title方法排序的字段
    title.admin_order_field='atitle'
    #設定title方法的顯示名稱
    title.short_description='地區名稱'

    def parent(self):
        if self.aparent is None:
            return ''
        return self.aparent.atitle
    parent.short_description='父級地區'

2.在admin.py裏面增加AreaInfo的模型管理類

class AreaInfoAdmin(admin.ModelAdmin):
    #每頁顯示數目
    list_per_page = 3
    #顯示列表裏面可以添加方法
    list_display = ['id', 'atitle','title','parent']
    #列表下方增加操作下拉框
    actions_on_bottom = True
    #列表框上面沒有下拉列表框
    actions_on_top = False
    #右側的過濾器
    list_filter = ['atitle']
    # 列表頁上面的搜索框
    search_fields = ['atitle']


admin.site.register(AreaInfo,AreaInfoAdmin)

3.後臺效果如圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章