title: Propper related objects creation within Django modelform
body: <p>Suppose there are two models: <strong>Author</strong> and <strong>Book</strong>.
  Sure enough <strong>Book</strong> has a foreign key to an <strong>Author</strong>.
  There is a create view in which user gives a name of the author and uploads a file with the list of books it has.</p>
  
  <p>So I am trying to figure out the best way to create a form.
  Right now I have:</p>
  
  <pre><code>class AddForm(ModelForm):
       books = FileField()
       class Meta:
            model = Author
  
       def clean_books(self):
            return [book.strip() for book in self.cleaned_data['books'].file]
  </code></pre>
  
  <p>The problem is where should I put the actual creation of <strong>Books</strong> model objects? Looks like it should be in a <code>save</code> method, something like:</p>
  
  <pre><code>def save(self, commit=True):
      author = super().save(commit=True)
      Book.objects.bulk_create([Book(author=author, title=book.title, ...) for book in self.cleaned_data['books']])
      return author
  </code></pre>
  
  <p>But is it ok? What really annoys me is the <code>commit</code> argument. It's totally ignored and it may confuse others if they supply <code>commit=False</code>. How do I take into account commit argument and do not break the logic?</p>