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