Files
Jacky 43e425edbe
CI / test (push) Canceled after 4m2s
v 0.3 Preview: Update admin
2026-08-08 21:47:29 +08:00

39 lines
1.4 KiB
Python

from django.contrib import admin
from .models import ContentInteraction, ContentItem, VideoProgress
@admin.register(ContentItem)
class ContentItemAdmin(admin.ModelAdmin):
list_display = (
"title",
"kind",
"ability_dimension",
"discipline",
"duration_seconds",
"is_published",
)
list_filter = ("kind", "ability_dimension", "discipline", "is_published")
search_fields = ("title", "summary", "body")
ordering = ("-published_at", "title")
list_editable = ("is_published",)
readonly_fields = ("view_count", "comment_count")
@admin.register(ContentInteraction)
class ContentInteractionAdmin(admin.ModelAdmin):
list_display = ("user", "content", "action", "created_at")
list_filter = ("action", "content__kind")
search_fields = ("user__username", "user__nickname", "content__title")
readonly_fields = ("user", "content", "action", "created_at")
ordering = ("-created_at",)
@admin.register(VideoProgress)
class VideoProgressAdmin(admin.ModelAdmin):
list_display = ("user", "content", "completed", "reward_granted", "updated_at")
list_filter = ("completed", "reward_granted", "content__ability_dimension")
search_fields = ("user__username", "user__nickname", "content__title")
readonly_fields = ("user", "content", "updated_at", "completed_at")
ordering = ("-updated_at",)