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.後臺效果如圖