from django.contrib import admin from .models import ( CheatFlag, Contest, ContestAnswer, ContestAttempt, ContestQuestion, LeaderboardSnapshot, Question, QuestionVersion, RatingHistory, RealtimeMatch, ) class ContestQuestionInline(admin.TabularInline): model = ContestQuestion extra = 1 @admin.register(Contest) class ContestAdmin(admin.ModelAdmin): list_display = ("title", "kind", "track", "status", "starts_at", "ends_at") list_filter = ("kind", "track", "status") inlines = [ContestQuestionInline] @admin.register(ContestAttempt) class ContestAttemptAdmin(admin.ModelAdmin): list_display = ("id", "user", "contest", "status", "score", "duration_ms", "started_at") list_filter = ("status", "contest__kind", "contest__track") readonly_fields = ("started_at", "submitted_at") @admin.register(CheatFlag) class CheatFlagAdmin(admin.ModelAdmin): list_display = ("attempt", "reason", "status", "created_at") list_filter = ("status", "reason") admin.site.register(Question) admin.site.register(QuestionVersion) admin.site.register(ContestAnswer) admin.site.register(RealtimeMatch) admin.site.register(RatingHistory) admin.site.register(LeaderboardSnapshot)