from django.contrib import admin
from booktest.models import BookInfo, HeroInfo, AreaInfo, PicTest
# 导入商品信息的模型类，测试富文本编辑器
from booktest.models import GoodsInfo

class HeroInfoAdmin(admin.ModelAdmin):
    """定义一个显示英雄信息的规则"""
    list_display = ['hname', 'hcomment']

class AreaStackedInline(admin.StackedInline):
    """定义块形式嵌入的子对象"""
    # 定义关联子类的模型类
    model = AreaInfo
    # 定义页面上额外显示的新建条目数
    extra = 2

class AreaTabularInline(admin.TabularInline):
    """定义列表形式嵌入的子对象"""
    # 定义关联子类的模型类
    model = AreaInfo
    # 定义页面上额外显示的新建条目数
    extra = 2

class AreaInfoAdmin(admin.ModelAdmin):
    """定义一个地区信息的管理类"""
    list_per_page = 10
    # actions_on_top = False
    # actions_on_bottom = True
    list_display = ['title', 'a_name', 'parent_area']
    # 定义右侧栏过滤器的筛选条件，只能是字段名称
    # list_filter=['a_name']
    # 添加搜索框，对应查询字段为区域名
    search_fields=["a_name"]
    # 定义编辑页的条目显示顺序
    # fields = ['a_parent', 'a_name']
    # 让编辑页的条目分组显示
    # 注意 fields 和 fieldset 只能同时设置一种, 但 fieldset 中的条目可以用 field 排序
    fieldsets = (
            ("第一组的标题", {"fields": ['a_name']}),
            ("第二组的标题", {"fields": ['a_parent']}),
        )
    # 以块形式嵌入子类
    # inlines = [AreaStackedInline]
    # 以列表形式嵌入子类
    inlines = [AreaTabularInline]


# Register your models here.
admin.site.register(BookInfo)
admin.site.register(HeroInfo, HeroInfoAdmin)
admin.site.register(AreaInfo, AreaInfoAdmin)
admin.site.register(PicTest)
admin.site.register(GoodsInfo)