title: django.db.migrations.exceptions.CircularDependencyError
body: <p>I have a problem with Django migrations on empty DB. When I want to migrate I have a circular dependency error. Circular dependency error between two apps that related by foreign keys</p>
  
  <p>/firstapp/models.py   </p>
  
  <pre><code>class Person(models.Model):
     ...
  
  
  class Doctor(Person):
      hospital = models.ForeignKey('hospital.Hospital', on_delete=models.SET_NULL, null=True, default=None,blank = True)
      ...
  
  class Patient(Person):
      doctor = models.ForeignKey('Doctor', on_delete=models.SET_NULL, null=True, default=None)
  </code></pre>
  
  <p>/secondapp/models.py</p>
  
  <pre><code>class Hospital(models.Model):
      ...
      main_doctor = models.ForeignKey('authoriz.Doctor', on_delete=models.SET_NULL, null=True,verbose_name="Main Doctor")
      calendar = models.ForeignKey('schedule.Calendar',verbose_name="calendar",null = True)
      ...
  
  class Seat(models.Model):
      hospital = models.ForeignKey('Hospital', on_delete=models.CASCADE)
      ...
  </code></pre>
  
  <p>After</p>
  
  <pre><code>python manage.py migrate
  </code></pre>
  
  <p>Traceback</p>
  
  <pre><code>Traceback (most recent call last):
    File "manage.py", line 22, in &lt;module&gt;
      execute_from_command_line(sys.argv)
    File "/home/user/project/lib/python3.5/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
      utility.execute()
    File "/home/user/project/lib/python3.5/site-packages/django/core/management/__init__.py", line 359, in execute
      self.fetch_command(subcommand).run_from_argv(self.argv)
    File "/home/user/project/lib/python3.5/site-packages/django/core/management/base.py", line 305, in run_from_argv
      self.execute(*args, **cmd_options)
    File "/home/user/project/lib/python3.5/site-packages/django/core/management/base.py", line 356, in execute
      output = self.handle(*args, **options)
    File "/home/user/project/lib/python3.5/site-packages/django/core/management/commands/migrate.py", line 136, in handle
      plan = executor.migration_plan(targets)
    File "/home/user/project/lib/python3.5/site-packages/django/db/migrations/executor.py", line 60, in migration_plan
      for migration in self.loader.graph.forwards_plan(target):
    File "/home/user/project/lib/python3.5/site-packages/django/db/migrations/graph.py", line 280, in forwards_plan
      self.ensure_not_cyclic(target, lambda x: (parent.key for parent in self.node_map[x].parents))
    File "/home/user/project/lib/python3.5/site-packages/django/db/migrations/graph.py", line 370, in ensure_not_cyclic
      raise CircularDependencyError(", ".join("%s.%s" % n for n in cycle))
  django.db.migrations.exceptions.CircularDependencyError: authoriz.0001_initial, hospital.0001_initial
  </code></pre>
  
  <p>Thanks for help.</p>