title: Django relation error when running make migrations
body: <p>Hey I am attempting to initialize a new database, but I am running into some issues setting up the migrations. The error I am getting appears to stem from setting up my forms. In a form I am using, I am creating a choice field as so:</p>
  
  <pre><code>from django import forms
  from ..custom_admin import widgets, choices
  
  
  class MemberForm(forms.Form):
      provinces = forms.ChoiceField(label='Provinces', choices=choices.PROVINCE_CHOICES, required=True)
  </code></pre>
  
  <p>where PROVINCE_CHOICES comes from here:</p>
  
  <pre><code>from ..base.models import ProvinceCode
  
  PROVINCE_CHOICES = []
  for province in ProvinceCode.objects.filter(country_code_id=1).order_by('code'):
      PROVINCE_CHOICES.append((province.code, province.code))
  </code></pre>
  
  <p>The issue seems to be that this loop is being called before the migrations occur, giving me an error stating that the Province model does not exist. Commenting out the reference to this file allows the migrations to work, however, that seems like an impractical solution for continued use. Is there a way to get around this error?</p>
  
  <p>For reference, here is the error I get when I run <code>manage.py makemigrations</code>:</p>
  
  <pre><code>./manage.py makemigrations        
  Traceback (most recent call last):
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
      return self.cursor.execute(sql, params)
  psycopg2.ProgrammingError: relation "pc_psr_code" does not exist
  LINE 1: ...escription", "pc_psr_code"."country_code_id" FROM "pc_psr_co...
                                                               ^
  
  
  The above exception was the direct cause of the following exception:
  
  Traceback (most recent call last):
    File "./manage.py", line 9, in &lt;module&gt;
      django.setup()
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/__init__.py", line 18, in setup
      apps.populate(settings.INSTALLED_APPS)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/apps/registry.py", line 115, in populate
      app_config.ready()
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/debug_toolbar/apps.py", line 15, in ready
      dt_settings.patch_all()
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/debug_toolbar/settings.py", line 228, in patch_all
      patch_root_urlconf()
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/debug_toolbar/settings.py", line 216, in patch_root_urlconf
      reverse('djdt:render_panel')
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/core/urlresolvers.py", line 568, in reverse
      app_list = resolver.app_dict[ns]
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/core/urlresolvers.py", line 360, in app_dict
      self._populate()
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/core/urlresolvers.py", line 293, in _populate
      for pattern in reversed(self.url_patterns):
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/utils/functional.py", line 33, in __get__
      res = instance.__dict__[self.name] = self.func(instance)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
      patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/utils/functional.py", line 33, in __get__
      res = instance.__dict__[self.name] = self.func(instance)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
      return import_module(self.urlconf_name)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/importlib/__init__.py", line 126, in import_module
      return _bootstrap._gcd_import(name[level:], package, level)
    File "&lt;frozen importlib._bootstrap&gt;", line 986, in _gcd_import
    File "&lt;frozen importlib._bootstrap&gt;", line 969, in _find_and_load
    File "&lt;frozen importlib._bootstrap&gt;", line 958, in _find_and_load_unlocked
    File "&lt;frozen importlib._bootstrap&gt;", line 673, in _load_unlocked
    File "&lt;frozen importlib._bootstrap_external&gt;", line 662, in exec_module
    File "&lt;frozen importlib._bootstrap&gt;", line 222, in _call_with_frames_removed
    File "/Users/js/Documents/app/platform/test/pc/urls.py", line 7, in &lt;module&gt;
      from .custom_admin import urls as custom_urls
    File "/Users/js/Documents/app/platform/test/pc/custom_admin/urls.py", line 3, in &lt;module&gt;
      from ..party import views as party_views
    File "/Users/js/Documents/app/platform/test/pc/party/views.py", line 1, in &lt;module&gt;
      from ..party import forms
    File "/Users/js/Documents/app/platform/test/pc/party/forms.py", line 2, in &lt;module&gt;
      from ..custom_admin import widgets, choices
    File "/Users/js/Documents/app/platform/test/pc/custom_admin/choices.py", line 9, in &lt;module&gt;
      for province in ProvinceCode.objects.filter(country_code_id=1).order_by('code'):
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/models/query.py", line 258, in __iter__
      self._fetch_all()
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/models/query.py", line 1074, in _fetch_all
      self._result_cache = list(self.iterator())
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/models/query.py", line 52, in __iter__
      results = compiler.execute_sql()
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/models/sql/compiler.py", line 848, in execute_sql
      cursor.execute(sql, params)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/backends/utils.py", line 79, in execute
      return super(CursorDebugWrapper, self).execute(sql, params)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
      return self.cursor.execute(sql, params)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/utils.py", line 95, in __exit__
      six.reraise(dj_exc_type, dj_exc_value, traceback)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
      raise value.with_traceback(tb)
    File "/Users/js/Documents/VirtualEnvironments/pcenv/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
      return self.cursor.execute(sql, params)
  django.db.utils.ProgrammingError: relation "pc_psr_code" does not exist
  LINE 1: ...escription", "pc_psr_code"."country_code_id" FROM "pc_psr_co...
  </code></pre>
  
  <p>Province model:</p>
  
  <pre><code>class ProvinceCode(models.Model):
      code = models.CharField(blank=False, null=False, unique=True)
      country_code = models.ForeignKey('CountryCode', blank=False, null=True)
  </code></pre>