from django.contrib import admin from django.utils.html import format_html from django.urls import reverse from django.utils.translation import gettext, gettext_lazy as _, ungettext from judge.models import VolunteerProblemVote class VolunteerProblemVoteAdmin(admin.ModelAdmin): fields = ('voter', 'problem', 'time', 'thinking_points', 'knowledge_points', 'feedback') readonly_fields = ('time', 'problem', 'voter') list_display = ('voter', 'problem_link', 'time', 'thinking_points', 'knowledge_points', 'feedback') date_hierarchy = 'time' def problem_link(self, obj): url = reverse('admin:judge_problem_change', args=(obj.problem.id,)) return format_html(f"{obj.problem.code}") problem_link.short_description = _('Problem') problem_link.admin_order_field = 'problem__code'