Formsets are a Django abstraction that make it easier to manage multiple instances of a single Form on a page. In 2009 I wrote a blog post about using nesting formsets using Django 1.1. This is a generic implementation of the technique described there, targeting Django 1.8 and later. A follow-up blog post provides additional context.
I do not advocate the use of nested Formsets. In every case I've considered them, they've led to usability issues and overly complex view code. This repository was created as an exercise in test driven development and abstraction. Your mileage may vary.
You can install Django Nested Formsets using your favorite package management tool. For example:
$ pip install django-nested-formset
You can also install the latest development version:
$ pip install git+https://github.com/nyergler/nested-formset#egg=django-nested-formset
After installing the package, you can use the
nestedformset_factory
function to create your formset class.
If you'd like to work on the source, I suggest cloning the repository and creating a virtualenv.
$ cd nested-formset $ virtualenv . $ source bin/activate $ python setup.py develop
The last line will install the installation and test dependencies.
To run the unit test suite, run the following:
$ python setup.py test
- Django Formset documentation
- jquery.django-formset Dynamic creation of formsets from the empty formset.
This package is released under a BSD style license. See LICENSE for details.