【发布时间】:2016-08-11 08:40:13
【问题描述】:
在我的模板中,用户可以添加(使用添加按钮:))相同表单的另一个实例(空一个 ofc),但是当我单击提交(保存)时,只有最后输入的一个被保存。 视图.py:
def form_valid(self, form):
self.object = form.save()
return HttpResponseRedirect(self.get_success_url())
模板:
<form action="{{ action }}" class="form-horizontal form-inline" method="post" enctype="multipart/form-data">
{% csrf_token %}
{% if object.id %}
<legend>Edit Object2</legend>
{% else %}
<legend>Add Object2</legend>
{% endif %}
{{ form }}
<div class="objects2">
{% for objects2_form in form %}
<div id="objects2-{{ forloop.counter0 }}">
</div>
{% endfor %}
</div>
<div class="form-actions">
<a href="#" id="add-object2" class="btn btn-info add-object2" >Add object2</a>
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
编辑: 我已经决定一次发布一个对象并保存渲染同一页面更容易。我现在遇到的问题是页面上只显示了 1 个(最后一个)表单而不是全部。 (所有都保存在数据库中)。以及如何将空表单显示为最后?
EDIT2: 我已经成功展示了所有内容:
object2 = object2Model.objects.all()
return render_to_response('xxx.html',
{'form': form, 'object2': object2}, context_instance = RequestContext(self.request))
所以只剩下一件事了..如何显示空表单? (不使用表单集)
【问题讨论】:
标签: django forms model save multiple-instances