title: Validation on ManyToManyField before Save in Models.py
body: <p>I have the following models:</p>
  
  <pre><code>class Application(models.Model):
   users = models.ManyToManyField(User, through='Permission')
   folder = models.ForeignKey(Folder)
  
  class Folder(models.Model):
   company = models.ManyToManyField(Compnay)
  
  class UserProfile(models.Model):
   user = models.OneToOneField(User, related_name='profile')
   company = models.ManyToManyField(Company)
  </code></pre>
  
  <p>What I would like to do is to check whether one of the users of the Application has the same company as the Application (via Folder). If this is the case the Application instance should not be saved.</p>
  
  <p>The problem is that the ManyToManyFields aren't updated until after the 'post-save' signal. 
  <br />The only option seems to be the new m2m_changed signal. But I'm not sure how I then roll back the save that has already happened.<br />
  Another option would be to rewrite the save function (in models.py, because I'm talking about the admin here), but I'm not sure how I could access the manytomanyfield content.<br />
  Finally I've read something about rewriting the save function in the admin of the model in admin.py, however I still wouldn't know how you would access the manytomanyfield content.</p>
  
  <p>I have been searching for this everywhere but nothing I come across seems to work for me.<br />
  If anything is unclear, please tell me.</p>
  
  <p>Thanks for your help!<br />
  Heleen</p>