def save(self, commit=True):
saved_obj = self.save_form(commit=commit)<EOL>self.save_forms(commit=commit)<EOL>self.save_formsets(commit=commit)<EOL>return saved_obj<EOL>
When saving a super model form, the nested forms and formsets will be
saved as well.

The implementation of ``.save()`` looks like this:

.. code:: python

    saved_obj = self.save_form()
    self.save_forms()
    self.save_formsets()
    return saved_obj

That makes it easy to override it in order to change the order in which
things are saved.

The ``.save()`` method will return only a single model instance even if
nested forms are saved as well. That keeps the API similiar to what
Django's model forms are offering.

If ``commit=False`` django's modelform implementation will attach a
``save_m2m`` method to the form instance, so that you can call it
manually later. When you call ``save_m2m``, the ``save_forms`` and
``save_formsets`` methods will be executed as well so again all nested
forms are taken care of transparantly.