def attempts(request, contest_id):
contest = get_object_or_404(models.TaskBasedContest, pk=contest_id)
attempts = contest.attempts.order_by('-created_at').select_related(
'task', 'participant', 'participant__teamparticipant', 'participant__individualparticipant', 'author'
)
form = forms.AttemptsSearchForm(data=request.GET)
if form.is_valid():
pattern = form.cleaned_data['pattern']
if pattern != '':
attempts = attempts.filter(Q(task__name__icontains=pattern) |
Q(author__username__icontains=pattern) |
Q(author__first_name__icontains=pattern) |
Q(author__last_name__icontains=pattern) |
Q(participant__teamparticipant__team__name__icontains=pattern) |
Q(answer__icontains=pattern))
return render(request, 'contests/attempts.html', {
'current_contest': contest,
'contest': contest,
'pattern': pattern,
'attempts': attempts,
'form': form,
})
评论列表
文章目录