title: Django many to many relations on delete
body: <p>I have the following models:</p>
  
  <pre><code>class Branch(models.Model):
      releases = models.ManyToManyField(Release)
  
  
  class Release(models.Model):
      #fields
  </code></pre>
  
  <p>What is the default django behavior when you delete a release object (in my case?) Will it delete all branch objects that are only related to that release or not? I am guessing that if don't have it set it up null=True then if I try to delete all releases It will provide me with an IntegrityError correct, because releases will be null empty. If I set it to null=True, then I am guessing it will just leave releases as an empty list if the related object is deleted. Is it possible to delete all related branches when a release is deleted and branch object doesn't have a related object in releases?</p>
  
  <p>e.g</p>
  
  <pre><code>r1 = Release()
  r1.save()
  r2 = Release()
  r2.save()
  b1 = Branch()
  b1.save()
  b1.releases.add(r1)
  b2 = Branch()
  b2.save()
  b2.releases.add(r2)
  r1.delete() #this should delete b1 because releases is empty
  </code></pre>
  
  <p>Is this behavior possible?</p>