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.后台效果如图

booktest31-管理后台列表页_第1张图片

你可能感兴趣的:(python)