Hi Carl,

I made a ticket and provided a patch + test. I have not yet checked the
behavior in django.contrib.admin, but since the formclass is initialized
with empty_permitted=True, the admin will *probably* not be affected, since
it would deal with empty forms but without errors.

This is the ticket: http://code.djangoproject.com/ticket/15349

Thanks,

HJ

On Sat, Feb 19, 2011 at 4:03 AM, Carl Meyer <carl.j.me...@gmail.com> wrote:

> Hi Hidde-Jan,
>
> On Feb 18, 10:20 am, Hidde-Jan Jongsma <m...@hidde-jan.nl> wrote:
> > Lately, I've been working a lot with Django's modelformsets in
> > combination with javascript. The BaseFormSet implements a handy method
> > _get_empty_form, accessible through the empty_form property. This
> > method checks whether formset.is_bound is True, and if it is, updates
> > the kwargs passed to the formclass with the supplied data and files.
> >
> > This behaviour strikes me as odd. It results in a form that can no
> > longer be considered empty, but is bound and, possibly, can contain
> > errors. Of course, this only happens *after* the formset has been
> > posted. As a result, a formset.empty_form can no longer be used as a
> > (javascript) template for creating new forms on the client side, since
> > it is unpredictable.
> >
> > Is there a specific reason that it was implemented in this way? In my
> > opinion, an unbound empty_form would make much more sense.
>
> I agree with you. I can't see any reason why the empty_form for a
> bound formset should be any different than for an unbound one. The
> intended use for empty_form is as a template for Javascript add-
> another behavior, and such a template should always be a predictably
> empty form with no errors.
>
> If you can file a bug on this, that'd be great. If you can provide a
> patch with tests, double-great. If you can also confirm that it has no
> negative impact on the admin's use of formsets (or that this problem
> is present in the admin currently and this fixes it), triple-great ;-)
>
> Carl
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers" group.
> To post to this group, send email to django-developers@googlegroups.com.
> To unsubscribe from this group, send email to
> django-developers+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-developers?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to