title: BaseModelFormSet __init__() got an unexpected keyword argument
body: <p>I am getting the above error when I have tried to convert my inline_formset to have at least the first row required. <a href="https://stackoverflow.com/questions/2406537/django-formsets-make-first-required">(please see here for the StackOverflow question)</a></p>
  
  <p>My existing code is below:</p>
  
  <pre><code>#views.py
  def application(request, job_id):
      job = get_object_or_404(Job, pk=job_id)
      #return 404 if job isn't yet published
      if (job.pub_date&gt;timezone.now() or job.close_date&lt;timezone.now()):
          return HttpResponseNotFound('&lt;h1&gt;Job not found&lt;/h1&gt;')
  
      #create all the inlineformsets (can_delete) set to false as will always be empty upon population
      EducationInlineFormSet = inlineformset_factory(Applicant, Education, extra=1, can_delete=False)
      QualificationInlineFormSet = inlineformset_factory(Applicant, Qualification, extra=1, can_delete=False)
      EmploymentInlineFormSet = inlineformset_factory(Applicant, Employment, extra=1, can_delete=False)
  
      if request.method == 'POST':
          applicant = Applicant(job=job)
          form = ApplicantForm(request.POST, instance=applicant)
          bottom_form = ApplicantFormBottom(request.POST, instance=applicant)
          education_formset = EducationInlineFormSet(request.POST, instance=applicant)
          qualification_formset = QualificationInlineFormSet(request.POST, instance=applicant)
          employment_formset = EmploymentInlineFormSet(request.POST, instance=applicant)
  
          #check all of the forms and formsets are valid
          if form.is_valid() and bottom_form.is_valid() and education_formset.is_valid() and qualification_formset.is_valid() and employment_formset.is_valid():
              # save the model to database, directly from the form:
              form.save()
              bottom_form.save()
              education_formset.save()
              qualification_formset.save()
              employment_formset.save()
              return render(request, 'jobs/success.html')
  
  
      else:
          applicant = Applicant(job=job)
          form = ApplicantForm(instance=applicant)
          bottom_form = ApplicantFormBottom(instance=applicant)
          education_formset = EducationInlineFormSet(instance=applicant)
          qualification_formset = QualificationInlineFormSet(instance=applicant)
          employment_formset = EmploymentInlineFormSet(instance=applicant)
  
  
      c = { 
      'job' : job,
      'form' : form ,
      'bottom_form' : bottom_form,
      'education_formset' : education_formset,
      'qualification_formset' : qualification_formset,
      'employment_formset' : employment_formset,
      }
      return render(request, 'jobs/application.html', c)
  </code></pre>
  
  <p>In order to customise the formset I defined the following:</p>
  
  <pre><code>class BaseFormSet(BaseModelFormSet):
      def __init__(self, *args, **kwargs):
          super(BaseFormSet, self).__init__(*args, **kwargs)
          for form in self.forms:
              form.empty_permitted = False
  </code></pre>
  
  <p>and pass use it as follows:</p>
  
  <pre><code>EducationInlineFormSet = inlineformset_factory(Applicant, Education, extra=1, can_delete=False, formset=BaseFormSet)
  </code></pre>
  
  <p>This returns the above error and having read around a lot I'm still none the wiser how I can keep passing an instance to the formset.</p>
  
  <p>Any help would be greatly appreciated.</p>
  
  <p>Regards,</p>
  
  <p>Chris.</p>