Commit 033b2617 authored by Loic Bistuer's avatar Loic Bistuer Committed by Tim Graham
Browse files

Improved docs for ModelFormSet.clean().

parent c456ea4e
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -943,6 +943,24 @@ class's ``clean`` method::
                # your custom formset validation
                ...

Also note that by the time you reach this step, individual model instances
have already been created for each ``Form``. Modifying a value in
``form.cleaned_data`` is not sufficient to affect the saved value. If you wish
to modify a value in ``ModelFormSet.clean()`` you must modify
``form.instance``::

    from django.forms.models import BaseModelFormSet

    class MyModelFormSet(BaseModelFormSet):
        def clean(self):
            super(MyModelFormSet, self).clean()

            for form in self.forms:
                name = form.cleaned_data['name'].upper()
                form.cleaned_data['name'] = name
                # update the instance value.
                form.instance.name = name

Using a custom queryset
-----------------------