我是Django的新人,我遇到了一个问题。我想在formset 多次中添加一个表单并将其保存到数据库中。
查看:
sub = form['sub2'].save(commit=False)
sub.student_group = StudentGroup.objects.get(id=element)
sub.number = 2
sub.type = 'Others'
sub.student_count = secondSubgroup
sub.save()
...
detachment_formset = formset_factory(Subgroup, form=FormSubgroup, extra=0)
formset = detachment_formset(sub)
if formset.is_valid():
for form in formset:
if form.has_changed():
form.save()
return HttpResponseRedirect(reverse_lazy('app_student:implement'))
形式:
class FormSubgroup(forms.ModelForm):
class Meta:
model = Subgroup
exclude = ['student_group','number','type','student_count']
我阅读了文档:https://docs.djangoproject.com/en/1.9/topics/forms/formsets/
然而,我没有设法做到这一点。
据我所知,formset类似于list
,它可以存储许多表单对象并将它们保存在每个循环的中。
也许我应该发送不同的参数:
formset = detachment_formset(sub)
我应该以某种方式一个接一个地发送它们吗?
student_group = StudentGroup.objects.get(id=element), number = 2 ...
我坚持这个问题一个星期请拯救我的生命。
主要目的是在具有不同数据的数据库中保存子组表格(例如)5次(例如更改sub.number = 2,3,4 ....)