title: django: default for non-nullable field
body: <p>I am learning django by doing some tutorials and am currently on ownership in the <a href="http://www.effectivedjango.com/tutorial/authzn.html#checking-ownership" rel="nofollow">effective-django</a> tutorial. Unfortunately, the tutorials is written for an older version of django so some things are slightly different.</p>
  
  <p>I am running into problems when adding an 'owner' field to my model Contact in models.py:</p>
  
  <pre><code>from django.db import models
  from django.core.urlresolvers import reverse
  from django.contrib.auth.models import User
  
  class Contact(models.Model):
      """
          Interface for contact class
      """
      first_name = models.CharField(max_length=255)
      last_name = models.CharField(max_length=255)
      email = models.EmailField()
      owner = models.ForeignKey(User)
  
      def __str__(self):
          return ' '.join([self.first_name, self.last_name])
  
      def get_absolute_url(self):
          return reverse('contacts-view', kwargs={'pk': self.id})
  </code></pre>
  
  <p>When trying to run 'makemigrations', i get warnings:</p>
  
  <blockquote>
    <p>You are trying to add a non-nullable field 'owner' to contact without a default: can't do that</p>
  </blockquote>
  
  <p>This makes sense for an existing database, so i tried flushing the database. However, the problem remains. What should be the default value for the field owner? I also tried making the field nullable but that gives me the error that field owner cannot be null.</p>