【问题标题】:Django Formset without instance没有实例的 Django Formset
【发布时间】:2010-11-19 01:30:39
【问题描述】:

thisDjango Doc 中解释了如何创建一个表单集,允许您编辑属于特定作者的书籍。

我想做的是:创建一个表单集,允许您添加属于新作者的新书...在同一个表单集中添加图书及其作者。

你能给个灯吗?谢谢。

【问题讨论】:

    标签: python django forms formset inline-formset


    【解决方案1】:

    当您为初始显示实例化表单和表单集时,您不需要提供实例 - 因此您只会得到空白表单。

    当你在 POST 上传入数据时,你可以先做表单,保存它,然后获取一个实例。然后您可以将该实例传递到表单集中,以便它正确保存相关对象。

    【讨论】:

    • 谢谢,灯:如果 request.method == "POST": bookform = BookForm(request.POST) b = bookform .save(commit=False) b.save() formset = PadreFormSet(request .POST, request.FILES, instance=b) if formset.is_valid(): formset.save() 它对我有用,谢谢!
    【解决方案2】:

    这取决于您是自己做,还是使用内置管理器。

    如果您使用的是管理员,则可以使用inlines

    如果您在自己的应用程序中执行此操作,则由您决定。创建一个包含新authorbook 字段的表单。当用户提交表单时,您的工作就是创建新记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-14
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 2011-08-21
      • 2019-02-05
      • 2019-07-21
      • 2015-12-28
      相关资源
      最近更新 更多