Python3 Попробуйте с несколькими, кроме не работает (Django) - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть следующая функция

question = get_object_or_404(Question, pk=question_id)
try:
    selected_choice = question.choice_set.get(pk=request.POST['choice'])
except (KeyError, Choice.DoesNotExist):
    return render(request, 'polls/detail.html', {
        'question': question,
        'error_message': "You didn't select a choice.",
    })
else:
    selected_choice.votes += 1
    selected_choice.save()
    return HttpResponseRedirect(reverse('polls:results', args=(question.id,)))

Когда я выполняю пустой POST, я получаю желтую страницу с сообщением о том, что

name 'Choice' is not defined. Exception Type:   NameError"

Я изменил исключение на следующее:

except KeyError:

Теперь это работает, но я все еще хотел бы иметь исключение Choice.DoesNotExist.Я бы тоже хотел держать это в одной строке.В чем здесь проблема?

РЕДАКТИРОВАТЬ: я забыл включить для "Выбор", глупый я.Проблема решена.

...