title: Django Model Form - Not Valid without any errors
body: <p>I am writing a test for a Django Form. I am populating it with initial data. But when i save the form i get the error that it does not have cleaned_data attribute.</p>
  
  <p>This may happen because the form does not validate but it does not show any errors either.</p>
  
  <p>here is the code.</p>
  
  <pre><code>def test_keyw(self):
      class BlogPostKeywordCheck(forms.ModelForm):
          class Meta:
              model = BlogPost
              exclude = ()
  
      data = {'keywords': 'awwww,aaa,lol'}
  
  
      initial_data = {
          "title":"Test Keywords",
          "content":"&lt;p&gt;Testing Keywords&lt;/p&gt;",
          "status":CONTENT_STATUS_PUBLISHED,
          "keywords":"call,me,abc",
          "user":self._user,
          "allow_comments":"on",
          "gen_description":"on",
          "in_sitemap":"on",
          "_save":"Save"
      }
  
      print (self._user)
      submitted_form = BlogPostKeywordCheck(initial=initial_data)
  
      print (submitted_form.fields)
  
      submitted_form.instance.user = self._user
      print("Instance Title",submitted_form.instance.title)
  
  
      print("Valid: ",submitted_form.is_valid())
  
      print ("Errors: ",submitted_form.errors)
      submitted_form.save()
  
      print (Keyword.objects.all())
      self.assertTrue(submitted_form.is_valid())
      print (submitted_form.errors)
  </code></pre>
  
  <p>Currently the O/P is</p>
  
  <pre><code>Creating test database for alias 'default'...
  test
  OrderedDict([('title', &lt;django.forms.fields.CharField object at 0x05185CF0&gt;), ('slug', &lt;django.forms.fields.CharField object at 0x05185BD0&gt;), ('_meta_title', &lt;django.forms.fields.CharField object at 0x05185ED0&gt;), ('description', &lt;django.forms.fields.CharField object at 0x05185E10&gt;), ('gen_description', &lt;django.forms.fields.BooleanField object at 0x05185C10&gt;), ('keywords', &lt;django.forms.fields.CharField object at 0x05185CD0&gt;), ('status', &lt;django.forms.fields.TypedChoiceField object at 0x05185C50&gt;), ('publish_date', &lt;django.forms.fields.DateTimeField object at 0x05185B10&gt;), ('expiry_date', &lt;django.forms.fields.DateTimeField object at 0x05185D90&gt;), ('short_url', &lt;django.forms.fields.URLField object at 0x05185AD0&gt;), ('in_sitemap', &lt;django.forms.fields.BooleanField object at 0x05185FD0&gt;), ('content', &lt;django.forms.fields.CharField object at 0x05182E50&gt;), ('user', &lt;django.forms.models.ModelChoiceField object at 0x05182350&gt;), ('categories', &lt;django.forms.models.ModelMultipleChoiceField object at 0x051820D0&gt;), ('allow_comments', &lt;django.forms.fields.BooleanField object at 0x051821F0&gt;), ('featured_image', &lt;filebrowser_safe.fields.FileBrowseFormField object at 0x05182310&gt;), ('related_posts', &lt;django.forms.models.ModelMultipleChoiceField object at 0x051822B0&gt;)])
  (u'Instance Title', u'')
  (u'Valid: ', False)
  (u'Errors: ', {})
  Destroying test database for alias 'default'...
  
  Process finished with exit code 1
  
  Error
  Traceback (most recent call last):
    File "F:\Projects\GIT\mezzanine\build\build1\mezzanine\generic\tests.py", line 226, in test_keyw
      submitted_form.save()
    File "C:\Python27\lib\site-packages\django\forms\models.py", line 449, in save
      self._save_m2m()
    File "C:\Python27\lib\site-packages\django\forms\models.py", line 416, in _save_m2m
      cleaned_data = self.cleaned_data
  AttributeError: 'BlogPostKeywordCheck' object has no attribute 'cleaned_data'
  </code></pre>
  
  <p>And also if I don't add the user_id explicitly in the instance, it tells me that the User_id cannot be null. Doesn't work if i put it in the initial data.</p>