title: Django 1.8 Migrations. Adding DateTimeField after db creation. Best practices?
body: <p>So some time a couple migrations after my first one, I decided I wanted to include these fields:</p>
  
  <pre><code>created = models.DateTimeField(auto_now_add=True)
  modified = models.DateTimeField(auto_now=True)
  </code></pre>
  
  <p>into one of my models. When I <code>makemigrations</code> it gave me 
  <code>You are trying to add a non-nullable field 'created' to episode without a default; we can't do that (the database needs
   something to populate existing rows).</code></p>
  
  <p>So I then changed it to </p>
  
  <pre><code>created = models.DateTimeField(auto_now_add=True, default=datetime.now)
  </code></pre>
  
  <p>After trying to <code>makemigrations</code> again, it said that <code>at_api.Episode.modified: (fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one
  of these options may be present.</code></p>
  
  <p>All right, so I just went ahead and removed the auto_now_add</p>
  
  <pre><code>created = models.DateTimeField(default=datetime.now)
  </code></pre>
  
  <p>I could now <code>makemigrations</code> without any problems. And then I later removed <code>default=datetime.now</code> and replaced it with <code>auto_now_add=True</code>, and migrated again without any problems. However, I can't help feeling that this might not be the best way of doing things. I feel like something might go wrong later in the project.</p>