title: Loading initial data with Django 1.7+ and data migrations
body: <p>I recently switched from Django 1.6 to 1.7, and I began using migrations (I never used South).</p>
  
  <p>Before 1.7, I used to load initial data with a <code>fixture/initial_data.json</code> file, which was loaded with the <code>python manage.py syncdb</code> command (when creating the database).</p>
  
  <p>Now, I started using migrations, and this behavior is deprecated :</p>
  
  <blockquote>
    <p>If an application uses migrations, there is no automatic loading of fixtures.
    Since migrations will be required for applications in Django 2.0, this behavior is considered deprecated. If you want to load initial data for an app, consider doing it in a data migration.
     (<a href="https://docs.djangoproject.com/en/1.7/howto/initial-data/#automatically-loading-initial-data-fixtures" rel="noreferrer">https://docs.djangoproject.com/en/1.7/howto/initial-data/#automatically-loading-initial-data-fixtures</a>)</p>
  </blockquote>
  
  <p>The <a href="https://docs.djangoproject.com/en/1.7/topics/migrations/#data-migrations" rel="noreferrer">official documentation</a> does not have a clear example on how to do it, so my question is :</p>
  
  <p>What is the best way to import such initial data using data migrations :</p>
  
  <ol>
  <li>Write Python code with multiple calls to <code>mymodel.create(...)</code>,</li>
  <li>Use or write a Django function (<a href="https://stackoverflow.com/questions/887627/programmatically-using-djangos-loaddata">like calling <code>loaddata</code></a>) to load data from a JSON fixture file.</li>
  </ol>
  
  <p>I prefer the second option.</p>
  
  <p>I don't want to use South, as Django seems to be able to do it natively now.</p>