nested-formset icon indicating copy to clipboard operation
nested-formset copied to clipboard

Nest Django formsets for multi-level editing.

====================== Django Nested Formsets

.. image:: https://travis-ci.org/nyergler/nested-formset.png?branch=master :target: https://travis-ci.org/nyergler/nested-formset

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.11. A follow-up blog post_ provides additional context.

Installing

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.

Developing

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

See Also

  • Django Formset documentation_
  • jquery.django-formset_ Dynamic creation of formsets from the empty formset.

License

This package is released under a BSD style license. See LICENSE for details.

.. _Formsets: https://docs.djangoproject.com/en/1.5/topics/forms/formsets/ .. Django Formset documentation: Formsets .. _Form: https://docs.djangoproject.com/en/1.5/topics/forms/ .. _blog post: http://yergler.net/blog/2009/09/27/nested-formsets-with-django/ .. _follow-up blog post: http://yergler.net/blog/2013/09/03/nested-formsets-redux/ .. _jquery.django-formset: https://github.com/mbertheau/jquery.django-formset