TL; DR:我需要用于表单集的某种表单集。
我有两个与一个企业实体相关的不同模型,我需要制作一个表单来像编辑一个表单一样编辑两个模型。而且我需要像djngo内联表单集一样在一页上创建很多这样的表单。
现在我有以下东西:
class Parent(models.Model):
name = models.Charfield()
class FirstChild(models.Model):
name = models.Charfield()
e_id = models.IntegerField()
parent = models.ForeignKey(Parent)
class FirstChildForm(django.forms.ModelForm):
class Meta:
model = Child
fields = ('name', 'e_id', 'parent')
widgets = {'parent': forms.TextInput}
我使用内联表单集来渲染其中的许多内容:
formset_class = inlineformset_factory(Parent, FirstChild,
form=FirstChildForm, extra=1)
但是现在我必须为其添加第二个子模型和一个表单,并且仍然像一个内联表单一样渲染它,让它实际编辑两个模型。像这样:
class SecondChild(models.Model):
name = models.Charfield()
e_id = models.IntegerField()
parent = models.ForeignKey(Parent)
class SecondChildForm(django.forms.ModelForm):
class Meta:
model = Child
fields = ('name', 'e_id', 'parent')
widgets = {'parent': forms.TextInput}
formset_class = inlineformset_factory(models=[Parent, FirstChild],
forms=[FirstChildForm, SecondChildForm],
extra=1)
据我了解,Django表单集目前无法与多个模型一起使用。
那么我应该选择哪种方式实现这种行为,并且不破坏所有的django概念?我无法使用一些额外的库,因此我必须自己实现所有功能,并且如果重要的话,我会使用django 1.6。
答案 0 :(得分:1)