title: Default value for foreign key in Django migrations.AddField
body: <p>Using <a href="https://docs.djangoproject.com/en/1.9/topics/migrations/" rel="noreferrer">migrations</a>, I need to add a new field (a foreign key) to a model. I know it can be done with:</p>
  
  <pre><code>    migrations.AddField(
          model_name='MyModel',
          name='state',
          field=models.ForeignKey(null=True, related_name='mymodel_state', to='msqa_common.MyModelState'),
      ),
  </code></pre>
  
  <p>However, I don't want my field to be nullable. Instead, I want to use a default value for it, corresponding to the id of MyModelState whose name is "available" (id value might change in different machines). This "available" value of table MyModelState is inserted into the database in a previous migration script, so it does exist.</p>
  
  <p>I guess I should do something like:</p>
  
  <pre><code>    migrations.AddField(
          model_name='MyModel',
          name='state',
          field=models.ForeignKey(null=False, default=available_state_id, related_name='mymodel_state', to='msqa_common.MyModelState'),
      ),
  </code></pre>
  
  <p>My question: How can I get the <code>available_state_id</code> within my migration script? </p>