title: Updateview with dynamic form_class
body: <p>I would like to dynamically change the <code>form_class</code> of an <code>UpdateView</code> CBV in Django 1.6.</p>
  
  <p>I've tried to do this using the get_context_data(), but that didn't help since the form is already initialized. So it will need to happen during <code>__init__</code>, I guess. 
  Here's what I've tried on <code>__init__</code>:</p>
  
  <pre><code>class UpdatePersonView(generic.UpdateView):
  
      model = Person
      form_class = ""
  
      def __init__(self, *args, **kwargs):
          super(UpdatePersonView, self).__init__(*args, **kwargs)
          person = Person.objects.get(id=self.get_object().id)
          if not person.somefield:
              self.form_class = OneFormClass
          elif person.somefield:
              self.form_class = SomeOtherFormClass
  </code></pre>
  
  <p>I'm stuck with a <code>'UpdatePersonView' object has no attribute 'kwargs'</code> error message when executing <code>person = Person.objects.get(id=self.get_object().id)</code>. </p>
  
  <p>When manually specifying the id (e.g. <code>id=9</code>), then the setup works.</p>
  
  <p>How can I get the args/kwargs inside the <strong>init</strong> method that I'm overriding? Particularly I would need access to the <code>pk</code>.</p>