小编典典

在Django视图中结合modelformset和inlineformset

python

我有两种模式

   class A(models.Model):
        name = models.CharField(50)
        type = models.CharField(50)

   class B(models.Model):
        field1 = ForeignKeyField(A)
        value = IntegerField()

我想通过ModelFormSet(来自模型A)显示许多表单,其中每个表单依次显示连接到该对象的所有对象的InlineFormSets(来自模型B)。

如何在django视图中的save方法上合并modelformsets(模型A)和内联formset(mdoel B)?


阅读 140

收藏
2021-01-20

共1个答案

小编典典

我不确定这是否是一个好的解决方案,但这是我能想到的唯一可行的解​​决方案。

我会创建一个词典列表。每个Dictionary将具有一个baseForm键和一个inline_forms键,该键将保存您的B类表单,而inline_forms键将保存您的A类inline_formset。

在您的视图代码中,遍历列表并相应地打印表单。为每个表单提交按钮生成一个不同的值。例如,第一种形式etch ..的submit_1。

提交表单后,请检查此值(“提交”按钮的值),如果该值例如是Submit_2,则可以确定列表的第二项/表单已提交。您可以从他们开始处理提交的数据。

2021-01-20