Я новичок в Django, надеюсь, вы мне поможете.
У меня есть модель с именем Derogation с 3 ForeignKey.У меня есть 2 форм (с каждым одним или двумя ModelChoiceField), распределенных по нескольким представлениям.В заключение я хотел бы восстановить все эти экземпляры, чтобы создать объект Derogation и сохранить его в базе данных.
Я пытался передать объекты через URL-адреса, но я неуверен, как это работает.Я не хочу использовать сессии.
models.py
class Derogation(models.Model):
createur = models.ForeignKey(Createur, on_delete=models.CASCADE)
individu = models.ForeignKey(Individu, on_delete=models.CASCADE)
raison = models.ForeignKey(Raison, on_delete=models.CASCADE)
forms.py
class IndividuForm(forms.Form):
individu = forms.ModelChoiceField(queryset=Individu.objects.order_by('nom'), empty_label="")
class RaisonForm(forms.Form):
raison = forms.ModelChoiceField(queryset=Raison.objects.all(), empty_label="")
class CreateurForm(forms.Form):
createur = forms.ModelChoiceField(queryset=Createur.objects.all(), empty_label="")
views.py
def index(request):
individu_form = IndividuForm(request.POST or None)
if individu_form.is_valid():
individu = individu_form()
return HttpResponseRedirect('/raison/%s' % individu) #Not sure
return render(request, 'derog_bv/index.html', {'individu_form':individu_form})
def raison(request, individu):
raison_form = RaisonForm(request.POST or None)
createur_form = CreateurForm(request.POST or None)
if raison_form.is_valid() and createur_form.is_valid():
raison = raison_form()
createur = createur_form()
return HttpResponseRedirect('/recap/%s%s%s' %individu %raison %createur) #really not sure
return render(request, 'derog_bv/raison.html', {'raison_form':raison_form})
def recap(request, individu, raison, createur):
#Here I want to save my Derogation object
return render(request, 'derog_bv/recap.html')