======================
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.6 and later. A follow-up blog post
_ provides additional
context.
Note that 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.
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
News
0.1.4
Release date: 7 March 2015
- Dropped Django 1.5.x support; it's no longer receiving security
updates or maintenance.
- Updated accepted factory
kwargs
for Django 1.7 and later
- Fixed builds against Django tip.
0.1.3
Release date: 28 September 2014
- Test against Django 1.7-final
has_changed
now takes into account all nested forms.
0.1.2
Release date: 20 May 2014
- Support for passing files to bound nested formsets
- The media property now rolls up all nested media
- Compatibility with Django 1.7.
0.1.1
Release date: 6 March 2014
- Bump minor version number to get PyPI to index the development
version link.
0.1
Release date: 6 March 2014