[我已将其发布在Django 用户 |谷歌网上论坛 also.]
使用中的示例内联表单集文档, 我能够edit属于特定模型的对象(使用
模型)。我一直在尝试遵循相同的模式creating使用内联表单集的新对象,但无法
我的头脑足够清醒,可以为此目的提出一个工作观点。
使用与上面链接中相同的示例,我将如何进行
创建“Author”模型的新实例及其相关模型
“书”对象?
首先,创建一个作者模型表单。
author_form = AuthorModelForm()
然后创建一个虚拟作者对象:
author = Author()
然后使用虚拟作者创建一个内联表单集,如下所示:
formset = BookFormSet(instance=author) #since author is empty, this formset will just be empty forms
将其发送到模板。数据返回到视图后,您创建 Author:
author = AuthorModelForm(request.POST)
created_author = author.save() # in practice make sure it's valid first
现在将内联表单集与新创建的作者挂钩,然后保存:
formset = BookFormSet(request.POST, instance=created_author)
formset.save() #again, make sure it's valid first
edit:
要在新表单上没有复选框,请执行以下操作:
{% for form in formset.forms %}
<table>
{% for field in form %}
<tr><th>{{field.label_tag}}</th><td>{{field}}{{field.errors}}</td></tr>
{% endfor %}
{% if form.pk %} {# empty forms do not have a pk #}
<tr><th>Delete?</th><td>{{field.DELETE}}</td></tr>
{% endif %}
</table>
{% endfor %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)