Hi, I'm working on a formset with dynamic forms. I've overloaded my form to be able to add new values in the select field but i cannot overload the formset constructor. Django raise exception : "__init__() takes exactly 1 argument (2 given)" - How can i change the way the formset_factory build each forms to be able to overload each form properly for the validation ? forms.py:
class BaseColumnFormset(BaseFormSet): my_choices = None def __init__(self, **kwargs): self.my_choices = kwargs['my_choices'] del kwargs['my_choices'] super(BaseColumnFormset, self).__init__(**kwargs) def _construct_form(self, i, **kwargs): kwargs["my_choices"] = self.my_choices return super(BaseColumnFormset, self)._construct_form(i,**kwargs) class ColumnForm(forms.Form): column = forms.ChoiceField(choices = [('A', "lol")], widget=forms.Select, initial= 'A', label='Column') preview = forms.CharField(widget=forms.Textarea) def __init__(self, my_choices = None, *args, **kwargs): super(ColumnForm, self).__init__(*args, **kwargs) self.fields['column'].choices = my_choices view.py: formset_column = formset_factory(ColumnForm, formset = BaseColumnFormset) column_formset = formset_column(request.POST) Django raise : "__init__() takes exactly 1 argument (2 given)" -- You received this message because you are subscribed to the Google Groups "Django users" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/-yYKMVO187QJ. 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.