當然這是可能的 - 你認爲管理員怎麼做?
看看inline formsets documentation。
在評論之後編輯當然,您需要實例化並呈現父窗體和嵌套窗體集。雖然你可能會想在你如何使它有點更詳細的
<form action="" method="POST">
{{ form.as_p }}
{{ formset }}
</form>
:喜歡的東西:
def edit_contact(request, contact_pk=None):
if contact_pk:
my_contact = Contact.objects.get(pk=contact_pk)
else:
my_contact = Contact()
CommunicationFormSet = inlineformset_factory(Contact, Communication)
if request.POST:
contact_form = ContactForm(request.POST, instance=my_contact)
communication_set = CommunicationFormSet(request.POST,
instance=my_contact)
if contact_form.is_valid() and communication_set.is_valid():
contact_form.save()
communication_set.save()
else:
contact_form = ContactForm(instance=my_contact)
communication_set = CommunicationFormSet(instance=my_contact)
return render_to_response('my_template.html',
{'form': contact_form, 'formset':communication_set})
和模板可以那樣簡單。
感謝您的快速回答,但我嘗試過,當我渲染formset時,只有相關對象的行。我需要聯繫表單和通信內聯表單。我知道管理面板會這樣做,但我如何在視圖中進行工作? – 2011-04-01 21:08:29
感謝它的工作就像一個魅力! – 2011-04-01 21:24:09
有沒有辦法將formset添加到主窗體中?由於某些原因,我可以只有一個模型,我需要一個inlineformset。 – 2017-12-21 08:11:07