def METHOD_NAME(self, request, obj=None, **kwargs):
    if not self.has_change_permission(request, obj):
        return super(ReplyTemplateAdmin, self).METHOD_NAME(request, obj, **kwargs)
    form = super(ReplyTemplateAdmin, self).METHOD_NAME(request, obj, **kwargs)
    if 'contest' in form.base_fields:
        if not is_superuser(request):
            qs = Contest.objects.filter(pk=request.contest.pk)
            form.base_fields['contest']._set_queryset(qs)
            form.base_fields['contest'].required = True
            form.base_fields['contest'].empty_label = None
        form.base_fields['contest'].initial = request.contest
    return form