我想了解是否有简单(干)方法直接从具有简单视图的模板中的django表单显示内联表单集 . 使用floppyform或其他第三方应用程序是可以接受的 .
假设我们有2个(或更多)简单模型,例如:
class ModelA(models.Model):
field_a_one = models.CharField()
field_a_two = models.CharField()
class ModelB(models.Model):
field_rel_a = models.ForeignKey(ModelA)
field_b_one = models.CharField()
我们可以拥有ManyToMany关系而不是OneToMany关系 .
我最喜欢的是,以最简单的形式,能够在我的模板中做到:
{{ model_a_form }}
得到类似的东西:
field_a_one [ input ]
field_a_two [ input ]
field_b_one [ input ]
[Delete]
[ add one more ]
...类似于管理员中发生的事情 .
我认为,在视图中,我只想做:
class ModelAView(UpdateView):
model = ModelA
并有一个ModelAForm来定制行为,例如 . 要包括哪些字段,哪个顺序等 - 与django Forms一样 - 但包括内联关系和它们的自定义(例如,默认的html模板,如表格或非表格等) . 我想一些与管理员非常相似的东西 .
我在SO上找到的最接近的q / a是Creating form using Generic_inlineformset_factory from the Model Form但是它没有提供一体化解决方案 .
还有这个:http://haineault.com/blog/155/博客,但你必须自己在视图中配置表单集 . 这对我来说似乎不太合适!更好的解决方案?
在更相关的问题上,指向该博客,但评论对这种方法不是很积极:django class-based views with inline model-form or formset