from django.contrib import admin from .models import Category, PrimaryTag, SecondaryTag, Post, Comment @admin.register(Category) class CategoryAdmin(admin.ModelAdmin): list_display = ['name', 'icon', 'order', 'description'] list_editable = ['order', 'icon'] search_fields = ['name'] @admin.register(PrimaryTag) class PrimaryTagAdmin(admin.ModelAdmin): list_display = ['name', 'color'] search_fields = ['name'] @admin.register(SecondaryTag) class SecondaryTagAdmin(admin.ModelAdmin): list_display = ['name', 'tag_type', 'parent_tag'] list_filter = ['tag_type', 'parent_tag'] search_fields = ['name'] @admin.register(Post) class PostAdmin(admin.ModelAdmin): list_display = ['title', 'category', 'author', 'status', 'views', 'created_time'] list_filter = ['category', 'status', 'created_time'] search_fields = ['title', 'content'] filter_horizontal = ['primary_tags', 'secondary_tags'] readonly_fields = ['views', 'created_time', 'updated_time'] fieldsets = ( ('基本信息', { 'fields': ('title', 'content', 'excerpt', 'author', 'category', 'featured_image') }), ('标签管理', { 'fields': ('primary_tags', 'secondary_tags') }), ('状态信息', { 'fields': ('status', 'views', 'created_time', 'updated_time') }), ) @admin.register(Comment) class CommentAdmin(admin.ModelAdmin): list_display = ['author', 'post', 'created_time'] list_filter = ['created_time'] search_fields = ['author', 'content']