Django以inetomany / manytomany字段的形式自动化内联表单集

时间:2013-04-10 12:33:26

标签: django django-forms django-views

我想了解是否有简单(干)方法直接从具有简单视图的模板中的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 ] 

...类似于管理员中发生的事情。

我希望在视图中只需要这样做:

类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

0 个答案:

没有答案