フォームセットで作成されたすべてのオブジェクトを、フォームセットと同じWebページで作成されたオブジェクトに関連付けようとしています。したがって、コードの例は次のとおりです。
def create_b(request):
SpeciesFormSet = modelformset_factory(Species, fields=('common', 'scientific'))
if request.method == 'POST':
formset = SpeciesFormSet(request.POST)
form1 = BForm(request.POST)
if form1.is_valid():
objcreate = BModel.objects.create(
name = form1.cleaned_data['name'],
...
)
objcreate.save()
for forms in formset.forms:
if forms.is_valid():
formset1 = Species.objects.create (
common = forms.cleaned_data['common'],
scientific = forms.cleaned_data['scientific'],
BName = form1.cleaned_data['name']
)
formset1.save()
else:
formset = SpeciesFormSet()
form1 = BForm()
c = {'SpeciesFormSet' : SpeciesFormSet, 'form1' : form1}
c.update(csrf(request))
return render_to_response('Forms/create_b.html', c)
return HttpResponseRedirect('/accounts/profile')
else:
formset = SpeciesFormSet()
form1 = BForm()
c = {'SpeciesFormSet' : SpeciesFormSet, 'form1' : form1}
c.update(csrf(request))
return render_to_response('Forms/create_b.html', c)
私が抱えている問題は、フォームセットオブジェクトをフォームオブジェクトに関連付けようとすると、フォームオブジェクトが実際には存在しないことを通知することです。ただし、データベースにオブジェクトを作成しますが、フォームセットオブジェクトは作成しません。「「u」を割り当てることができません」というエラーが表示されます。「Species.BName」は「BModel」インスタンスである必要があります。それが助けになるなら。また、関係はForeignKeyです。これを解決する方法はありますか?御時間ありがとうございます。