Files
chunyu_project/article/admin.py
T
2026-08-05 23:59:15 +08:00

47 lines
1.6 KiB
Python

from django.contrib import admin
from django.utils.translation import gettext_lazy as _
from .models import Article, ArticleComment, ArticleLike, ArticleFavorite
class ArticleCommentInline(admin.TabularInline):
model = ArticleComment
extra = 0
fields = ['user', 'content', 'parent', 'likes', 'created_at']
readonly_fields = ['created_at']
@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
list_display = ['title', 'author', 'category', 'status', 'views', 'likes', 'is_top', 'is_featured', 'created_at']
list_filter = ['status', 'category', 'is_top', 'is_featured', 'editor_mode']
search_fields = ['title', 'author__username']
ordering = ['-is_top', '-created_at']
inlines = [ArticleCommentInline]
list_editable = ['status', 'is_top', 'is_featured']
list_per_page = 20
@admin.register(ArticleComment)
class ArticleCommentAdmin(admin.ModelAdmin):
list_display = ['article', 'user', 'content', 'parent', 'likes', 'created_at']
list_filter = ['created_at']
search_fields = ['content', 'user__username', 'article__title']
ordering = ['-created_at']
readonly_fields = ['created_at']
@admin.register(ArticleLike)
class ArticleLikeAdmin(admin.ModelAdmin):
list_display = ['user', 'article', 'created_at']
search_fields = ['user__username', 'article__title']
ordering = ['-created_at']
readonly_fields = ['created_at']
@admin.register(ArticleFavorite)
class ArticleFavoriteAdmin(admin.ModelAdmin):
list_display = ['user', 'article', 'created_at']
search_fields = ['user__username', 'article__title']
ordering = ['-created_at']
readonly_fields = ['created_at']