4
我使用inlineformset_factory生成一個formset像這樣:過濾對象Django的表單集
FormSet = inlineformset_factory(Model1, Model2, extra=0)
if request.method =="POST":
formset = FormSet(request.POST, instance=model1_object)
if formset.is_valid():
formset.save()
return HttpResponseRedirect(reverse-blah)
else:
formset = PupsFormSet(instance=model1_object,)
return render_to_response("template.html", {"formset":formset, 'model1_object':model1_object},context_instance=RequestContext(request))
我有兩個問題
- 我怎麼能限制Model2的對象,因此,並非所有的適用對象是否存在,但只有過濾子集?
- 有沒有人有任何示例代碼使用基於類的視圖與formset?
更新與功能代碼答題#1
FormSet = inlineformset_factory(Model1, Model2, extra=0)
if request.method =="POST":
formset = FormSet(request.POST, instance=model1_object, queryset=Model2.objects.filter(foo=bar))
if formset.is_valid():
formset.save()
return HttpResponseRedirect(reverse-blah)
else:
formset = PupsFormSet(instance=model1_object, queryset=Model2.objects.filter(foo=bar))
return render_to_response("template.html", {"formset":formset, 'model1_object':model1_object},context_instance=RequestContext(request))
工作很好... queryset參數必須在formset = Formset()調用中,而不是inlineformset_factory調用,所以我已經用該答案更新了我的問題 – Dave