如何在 Django 1.8 中多次保存同一个表单?
Posted
技术标签:
【中文标题】如何在 Django 1.8 中多次保存同一个表单?【英文标题】:How can I save the same form more than once in Django 1.8? 【发布时间】:2016-01-06 17:42:44 【问题描述】:我有一个模型产品和一个相应的表单产品,我需要用 5 个产品来更新库存,所以我输入了产品的数据并询问我要存储多少这个产品的项目,因为所有产品保存是一样的,除了Django默认ID,我想在视图中做这样的事情:
for i in range(0, 5):
form.save()
很遗憾,这只保存了最后一个表单。
我还能如何实现我的需要?
【问题讨论】:
保存一个,然后create clones of the one from the form 【参考方案1】:使用commit=False
调用 save 会返回一个未保存到数据库的实例。
instance = form.save(commit=False)
您可以在一个循环中多次保存实例。通过将主键设置为None,每次都会保存一个新对象。
for i in range(0, 5):
instance.pk = None
instance.save()
【讨论】:
感谢所有我需要做的就是将主键设置为无。非常感谢。以上是关于如何在 Django 1.8 中多次保存同一个表单?的主要内容,如果未能解决你的问题,请参考以下文章
Django:如何在 Django 表单中多次包含相同的字段?
使用 Django 1.8 的 show_change_link,“保存”按钮返回错误页面