diff options
| author | Brian Rosner <brosner@gmail.com> | 2008-09-02 17:57:02 +0000 |
|---|---|---|
| committer | Brian Rosner <brosner@gmail.com> | 2008-09-02 17:57:02 +0000 |
| commit | 7163fe4d96f7241b9435e91598261f473c098a3a (patch) | |
| tree | 5856c214cb436879ef1c1ae101b4be02a46ecb0b /docs/topics/forms/modelforms.txt | |
| parent | bc768e2b471b707bfbb234c21066a4b0cbbe9258 (diff) | |
Added some docs on model formsets in views.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@8863 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs/topics/forms/modelforms.txt')
| -rw-r--r-- | docs/topics/forms/modelforms.txt | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/docs/topics/forms/modelforms.txt b/docs/topics/forms/modelforms.txt index 80857aea9a..cb4a0c88d3 100644 --- a/docs/topics/forms/modelforms.txt +++ b/docs/topics/forms/modelforms.txt @@ -495,6 +495,29 @@ fill the rest with extra forms:: <tr><th><label for="id_form-2-name">Name:</label></th><td><input id="id_form-2-name" type="text" name="form-2-name" value="Walt Whitman" maxlength="100" /><input type="hidden" name="form-2-id" value="2" id="id_form-2-id" /></td></tr> <tr><th><label for="id_form-3-name">Name:</label></th><td><input id="id_form-3-name" type="text" name="form-3-name" maxlength="100" /><input type="hidden" name="form-3-id" id="id_form-3-id" /></td></tr> +Using a model formset in a view +------------------------------- + +Model formsets are very similar to formsets. Lets say we want to present a +formset to a user to edit ``Author`` model instances:: + + def manage_authors(request): + AuthorFormSet = modelformset_factory(Author) + if request.POST == 'POST': + formset = AuthorFormSet(request.POST, request.FILES) + if formset.is_valid(): + formset.save() + # do something. + else: + formset = AuthorFormSet() + render_to_response("manage_authors.html", { + "formset": formset, + }) + +As you can see the view is not drastically different than how to use a formset +in a view. The only difference is that we call ``formset.save()`` to save the +data into the database. This was describe above in :ref:`ref-saving-objects-in-the-formset`. + Using ``inlineformset_factory`` ------------------------------- |
