title: Saving ModelForm error(User_Message could not be created because the data didn't validate)
body: <p>I came across a thread that seemed like it might be related at djangocode but it didn't really help. I'm trying to save a modelform and it's throwing an exception.  I think that it might be related to referring to the same foreign key twice in my model.  It might also have to do with the definition of unique=True in one of the foreign key fields.  I don't know</p>
  
  <pre><code>class User_Message(models.Model):
     recipient=models.ForeignKey(User, unique=True, related_name="recipients")
     subject=models.CharField(max_length=100)
     sender=models.ForeignKey(User, related_name="senders")
     message=models.TextField(max_length=500)
  sent=models.DateField(auto_now_add=True)
  
  def __unicode__(self):
      return self.subject
  
  
  
  if request.method=="POST" and request.POST['id_message']:
      messageform=User_MessageForm(request.POST)
      recipient=[]   #receiver of mail must be a list
      recipient.append(post.user)
      if messageform.is_valid:
          message=messageform.save(commit=False)
          message.sender=user
          message.recipient=post.user
          return HttpResponse('%s %s' %(user,post.user))
          message.save()
  
          #send the email
          subject=messageform.cleaned_data['id_subject']
          body=messageform.cleaned_data['id_message']
  
          try:
              send_mail(subject, body, sender, recipient)
          except BadHeaderError:
              return HttpResponse('Invalid header found.')
  </code></pre>
  
  <p>It's failing at the line, <code>messageform.save(commit=False)</code>.  Man I thought that statement was fail proof. </p>
  
  <p>The POST data that is received by the modelform contains the subject and message fields. This data is successfully validated by my modelform.  </p>
  
  <p>Is it the related names, the <code>unique=True</code>... what gives?</p>
  
  <p>Thanks</p>