KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have two models: class Studio(models.Model): name = models.CharField("Studio", max_length=30, unique=True) class Film(models.Model): studio = models.ForeignKey(Studio, verbose_name="Studio") name = models.CharField("Film Name", max_length=30, unique=True) I have a Film form that allows the user to either select a preexisting Studio, or type in a new one: class FilmForm(forms.Form): studio = forms.ModelChoiceField(Studio.objects, required=False) new_studio = forms.CharField(max_length=30, required=False, label = "New Studio Name") name = forms.CharField(max_length=30, label = "Film Name") There's validation to assure that the new_studio name doesn't already exist. If the user enters a new_studio, I want to save the studio and then save the new Film. form = FilmForm(request.POST) if form.is_valid(): # All validation rules pass std = Studio(name = form.cleaned_data['new_studio']) std.save() But then how do I save the Film instance subject to the brand new studio id? I've seen this question , but what if I have many more fields in the Film model and Film Form? If I use the linked answer, I would have to enter each field: studio = Studio.objects.get(name=request.POST['new_studio']) newFilm=Film(name=form.name, studio=studio, field_one = form.field_one, field_two = form.field_two, etc.) What is the correct way to implement this?
Tags (comma-separated)
Save Edits
Cancel