Переменная Django не работает при пустом POST
У меня есть следующий шаблон в django.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Question</title>
</head>
<body>
<h1>{{ question.question_text }} {{ question.id }}</h1>
<form action="{% url 'polls:vote' question.id %}" method="post">
{% csrf_token %}
{% if error_message %}
<p><strong>{{ error_message }}</strong></p>
{% endif %}
{% if question.choice_set.all %}
{% for choice in question.choice_set.all %}
<input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}">
<label for="choice{{ forloop.counter }}">{{ choice.choice_text }}</label><br>
{% endfor %}
<br>
<input type="submit" value="Vote">
{% else %}
<p>No choices available.</p>
{% endif %}
</form>
</body>
</html>
Если я выберу значение для формы, она будет работать корректно и POST на /polls/1/vote/. Однако если я оставлю форму пустой и отправлю, я получу ошибку:
NoReverseMatch at /polls/1/vote/ Не найдено обратного соответствия для 'vote' с аргументами '('',)'. Проверено 1 шаблон(ы): ['polls/(?P<question_id>[0-9]+)/vote/$']
Вот мой urls.py:
from django.urls import path
from . import views
app_name = 'polls'
urlpatterns = [
path('', views.IndexView.as_view(), name='index'),
path('<int:pk>/', views.DetailView.as_view(), name = 'detail'),
path('<int:question_id>/vote/', views.vote, name='vote'),
path('<int:question_id>/results/', views.results, name='results'),
]