Formulários do Django Reverso para '' com argumentos '(7,)' e argumentos de palavras-chave '{}' não encontrados
Eu tenho me deparado com esse erro no dia anterior e não consigo resolvê-lo.
Reverse for '' with arguments '(7,)' and keyword arguments '{}' not found.
Meu objetivo é que um usuário selecione uma doença na minha página drui_index. Em seguida, o usuário é levado para a página drui para adicionar ou editar os indicadores. Nos meus modelos, existem vários indicadores para cada doença. Quando chego à página do drui, recebo o erro acima e não sei por quê. O '7' no erro é o PK da tabela de doenças.
Views.py
def drui_index(request):
disease_list = Disease.objects.all()
context = {'disease_list':disease_list}
return render(request, 'drui_index.html', context)
def drui(request, disease_id):
disease = get_object_or_404(Disease, pk=disease_id)
if request.method == "POST":
diseaseForm = DiseaseForm(request.POST, instance=disease)
indicatorInlineFormSet = IndicatorFormSet(request.POST, request.FILES, instance=disease)
if diseaseForm.is_valid():
new_disease = diseaseForm.save(commit=False)
indicatorInlineFormSet.save()
return HttpResponseRedirect(reverse('drui', kwargs={'disease_id':disease_id}))
else:
diseaseForm = DiseaseForm(instance=disease)
indicatorInlineFormSet = IndicatorFormSet(instance=disease)
return render(request, 'drui.html', {'disease':disease, 'diseaseForm':diseaseForm, 'indicatorInlineFormSet': indicatorInlineFormSet})
HTML drui.html
<form class="disease_form" action="{% url drui disease.id %}" method="post">{% csrf_token %}
{{ disease }}
{{ diseaseForm.as_table }}
{{ indicatorInlineFormSet.as_table }}
urls.py
url(r'^drui_index/forms.py
class DiseaseForm(forms.ModelForm):
disease = forms.ModelChoiceField(queryset=Disease.objects.all())
class Meta:
model = Disease
IndicatorFormSet = inlineformset_factory(Disease,
Indicator,
can_delete=False,
extra=MAX_INDICATORS)
No meu views.py, eu não acho que preciso chamar o diseaseForm porque eu já escolhi uma doença no drui_index. No entanto, não acho que isso esteja causando o problema.
, 'Physician_UI.views.drui_index', name='drui_index'),
url(r'^drui_index/(?P<disease_id>\d+)/forms.py
class DiseaseForm(forms.ModelForm):
disease = forms.ModelChoiceField(queryset=Disease.objects.all())
class Meta:
model = Disease
IndicatorFormSet = inlineformset_factory(Disease,
Indicator,
can_delete=False,
extra=MAX_INDICATORS)
No meu views.py, eu não acho que preciso chamar o diseaseForm porque eu já escolhi uma doença no drui_index. No entanto, não acho que isso esteja causando o problema.
, 'Physician_UI.views.drui', name='drui'),
forms.py
class DiseaseForm(forms.ModelForm):
disease = forms.ModelChoiceField(queryset=Disease.objects.all())
class Meta:
model = Disease
IndicatorFormSet = inlineformset_factory(Disease,
Indicator,
can_delete=False,
extra=MAX_INDICATORS)
No meu views.py, eu não acho que preciso chamar o diseaseForm porque eu já escolhi uma doença no drui_index. No entanto, não acho que isso esteja causando o problema.