Thanks I didn't know I could do that. For some reason I was fixated on
the concept of one form/one view/one template.
I tried as you suggested and it turned out to be pretty straight
forward.
view.py:
@login_required
def CreateAccount(request):
if request.method == "POST":
AccountForm = NewAccountForm(request.POST)
UserForm = CreateUserForm(request.POST)
if UserForm.is_valid() & AccountForm.is_valid():
newuser = UserForm.save()
newaccount = AccountForm.save(commit=False)
newaccount.owner = newuser
newaccount.save()
return HttpResponseRedirect("/account/")
else:
AccountForm = NewAccountForm()
UserForm = CreateUserForm()
return render_to_response('test.html', {"form1": AccountForm,
"form2": UserForm, }, context_instance=RequestContext(request))
test.html:
{% extends "base.html" %}
{% block content %}
<form method="POST" action="">
<table>
{{ form1.as_table }}
{{ form2.as_table }}
</table>
<input type="submit" value="Submit" />
</form>
{% endblock %}
Paddy