选择以django形式添加额外选项

时间:2017-06-28 18:42:41

标签: python django forms

我正在尝试通过一个包含多个与之相关的其他模型的表单来创建模型。假设我有一个模型Publisher,然后是另一个带有Publisher的外键的模型文章。通过表单创建Publisher时,我想同时创建一篇文章。我知道如何通过formsets来做到这一点。但是,我不知道如何添加一个按钮,在同一视图中添加额外的文章,而不必重定向到新页面并丢失旧数据,因为表单未保存。我想要的是当有人点击添加新文章,要显示文章的新表单以及用户添加新文章时。这可以在django的同一个视图中完成,如果是这样,有人可以给我并想出如何处理这个问题吗?

我会展示代码或我的尝试,但我不确定如何接近它。

1 个答案:

答案 0 :(得分:0)

这只能使用JavaScript来完成。困难的部分是让管理表单与行数同步。

但有两种选择:

  1. 半javascript(Mezzanine的方法):在formset中生成大量行,只显示一个空行。单击“添加另一行”按钮后,取消隐藏下一行。这样可以更轻松地处理管理表单,因为未填充的附加功能不需要任何工作。
  2. 无需修复:添加尽可能多的行,人性化。一般来说,人们不需要40行,他们对填写表单感到厌倦,或担心浏览器崩溃时所有工作都会丢失。
  3. 希望这可以帮助你。祝你好运!