I got hit by this same bug and here's the workaround I used, for future reference. Basically you need to specify a formfield_callback kwarg to modelformset_factory that just passes along any kwargs it receives (namely, in this case, the 'widget' argument) to Field.formfield():
def create_formfield(f, **kwargs): return f.formfield(**kwargs) ArticleFormSet = modelformset_factory(Article, form = ArticleForm, formfield_callback=create_formfield, extra=0) On Jul 29, 11:33 am, Jason <goodri...@gmail.com> wrote: > Can anyone confirm that passing in a form with Meta.widgets set to > modelformset_factory() does in fact work? > > I've tried stripping my code down to the basics and still get the same > exception. Debugging Django code doesn't help me because it fails > during a lamda function that I don't quite understand. > > If anyone else has this problem I'll go ahead and submit a bug report. > > On Jul 28, 12:50 pm, Jason <goodri...@gmail.com> wrote: > > > > > Traceback: > > File "C:\Python25\lib\site-packages\django\core\handlers\base.py" in > > get_response > > 100. response = callback(request, > > *callback_args, **callback_kwargs) > > File "C:\Documents and Settings\goodrich\PycharmProjects\CCC\Aggregator > > \newsmail\views.py" in manage_articles > > 174. form = ArticleForm) > > File "C:\Python25\lib\site-packages\django\forms\models.py" in > > modelformset_factory > > 669. > > formfield_callback=formfield_callback) > > File "C:\Python25\lib\site-packages\django\forms\models.py" in > > modelform_factory > > 407. return ModelFormMetaclass(class_name, (form,), > > form_class_attrs) > > File "C:\Python25\lib\site-packages\django\forms\models.py" in __new__ > > 220. opts.exclude, > > opts.widgets, formfield_callback) > > File "C:\Python25\lib\site-packages\django\forms\models.py" in > > fields_for_model > > 178. formfield = formfield_callback(f, **kwargs) > > > Exception Type: TypeError at /newsmail/manage/ > > Exception Value: <lambda>() got an unexpected keyword argument > > 'widget' > > > On Jul 28, 12:00 pm, Daniel Roseman <dan...@roseman.org.uk> wrote: > > > > On Jul 28, 7:08 pm, Jason <goodri...@gmail.com> wrote: > > > > > For example: > > > > > class ArticleForm(ModelForm): > > > > class Meta: > > > > model = Article > > > > widgets = { > > > > 'pub_date': SplitSelectDateTimeWidget(), > > > > 'expire_date': CalendarWidget(attrs={'class':'date- > > > > pick'}) > > > > } > > > > > And in a view function: > > > > ... > > > > ArticleFormSet = modelformset_factory(Article, > > > > form = ArticleForm, > > > > extra=0) > > > > ... > > > > > Removing 'widgets' from the Meta in ArticleForm fixes the error. > > > > > The new widgets convention here is really handy. I don't want to lose > > > > it! > > > > > Any tips? > > > > How does it fail? What error do you get? If there's a traceback, > > > please post it here. > > > -- > > > DR. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@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.