from django.contrib import admin from django.utils.html import format_html from quiz.models import Option @admin.register(Option) class OptionAdmin(admin.ModelAdmin): """Admin interface for Options""" list_display = ['id', 'question_preview', 'letter', 'text_preview', 'is_correct'] list_filter = ['letter'] search_fields = ['text', 'question__text'] readonly_fields = ['question'] def question_preview(self, obj): """Show question preview""" return obj.question.text[:40] + '...' question_preview.short_description = 'Question' def text_preview(self, obj): """Show option text preview""" return obj.text[:50] + '...' if len(obj.text) > 50 else obj.text text_preview.short_description = 'Option Text' def is_correct(self, obj): """Highlight if this is the correct answer""" if obj.question.correct_answer and obj.letter in obj.question.correct_answer: return format_html('✓ Correct') return format_html('-') is_correct.short_description = 'Status'