title: on_delete=models.SET_NULL option in ForeignKey field has no effect
body: <p>I have two Django models having a foreign key referring to the other one:</p>
  
  <pre><code>class Style(models.Model):
      featured_item = models.ForeignKey('Item', blank=True, null=True)
      # more fields
  
  class Item(models.Model):
      style = models.ForeignKey(Style, blank=True, null=True) 
      # more fields
  </code></pre>
  
  <p>when deleting instances of <code>Item</code> I get a an IntegrityError:</p>
  
  <pre><code>In [4]: cursor.execute("DELETE FROM myapp_item WHERE n = 0)
  
  IntegrityError: (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`mydb`.`myapp_style`, CONSTRAINT `featured_item_id_refs_id_578e3e581685bdae` FOREIGN KEY (`featured_item_id`) REFERENCES `myapp_item` (`id`))')
  </code></pre>
  
  <p>so I added the <code>on_delete=models.SET_NULL</code> option to the <code>featured_item</code> foreign key field of my <code>Style</code> model, i.e. replaced</p>
  
  <pre><code>featured_item = models.ForeignKey('Item', blank=True, null=True)
  </code></pre>
  
  <p>by</p>
  
  <pre><code>featured_item = models.ForeignKey('Item', blank=True, null=True, on_delete=models.SET_NULL)
  </code></pre>
  
  <p>and migrate my database (which already had data) using South.</p>
  
  <p>But I still get the foreign key constraint error when deleting an <code>Item</code> instance.</p>
  
  <p>I'm using Django 1.5.</p>
  
  <p>Anybody can help?</p>