On Tue, 2009-05-26 at 17:27 -0700, adrian wrote: > This code creates a formset and populates fields with copies of > date and start_time. > The problem is, if num_events is X then it creates X forms but it only > populates X-1 (it leaves the last one uninitialized). My question > is why, and how to fix it? Thanks. > > > DateTimeFormSet = formset_factory(DateTimeForm) > initial_data_list = [] > pattern_datetime_dict = { > 'date':event.date, > 'start_time':event.time_start, > } > > for x in range(1, num_events): > initial_data_list.append(pattern_datetime_dict) > > formset = DateTimeFormSet(initial = initial_data_list)
Your initial data list only has (num_events - 1) elements. And formset_factory is returning a formset class that generates 1 extra form by default, giving you num_events total forms. If you don't want any extra forms, you can pass extra=0 into formset_factory like so: DateTimeFormSet = formset_factory(DateTimeForm, extra=0) sdc --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---