我是Django的新手,希望你能帮助我。
我有一个名为克减的模型,带有3ForeignKey。我有两个表单(每个表单有一个或两个ModelChoiceField)分布在多个视图中。在最后一个视图中,我希望恢复所有这些实例,以创建一个克减对象并将其保存在数据库中
我试图通过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')
目前没有回答
相关问题 更多 >
编程相关推荐