Hello all,
I want to create a page that the user will be able to include one
'Project', and several 'Ports' (related to this project). But I am
having problems saving the Ports form, because the project_id isn't in
the form yet.
I have the following models:
class Project(models.Model):
name = models.CharField(max_length=100)
class Port(models.Model):
description = models.CharField(max_length=20)
project = models.ForeignKey(Project)
And the following forms:
class ProjectForm(ModelForm):
class Meta:
model = Project
class PortForm(ModelForm):
class Meta:
model = Port
widgets = {
'project': HiddenInput() # Hidden because I can't choose
the project yet
}
And in the view that generate my form I have:
def new_project(request):
PortFormSet = formset_factory(PortForm)
if request.method == 'POST':
project_form = ProjectForm(request.POST)
port_formset = PortFormSet(request.POST)
if project_form.is_valid():
new_project = project_form.save() # I have my new
'Project' instance here
for port_form in port_formset.forms:
# Here is my problem
if port_form.is_valid(): # Always return false because
I haven't set the project_id
????? # What should I put here to define the project_id?
port_form.save()
return HttpResponseRedirect('/projects/')
else:
# Create the form and return to the template
Thank you!
Renne Rocha
[email protected]
http://www.linkedin.com/in/rennerocha
+55 19 8154-9345
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.