title: ContentType matching query does not exist on post_syncdb
body: <p>I am trying to add add some data to the database as soon as tables are created, using the <code>post_syncdb</code> signal.</p>
  
  <pre><code>signals.post_syncdb.connect(init)
  </code></pre>
  
  <p>Then in the init function, I want to set permission, so I use</p>
  
  <pre><code>ct = ContentType.objects.get(app_label='news', model='Article')
  Permission(name='Approve articles', codename='can_approve_article', content_type=ct)
  </code></pre>
  
  <p>But if I drop all the tables and run <code>syncdb</code>, I get</p>
  
  <pre><code>...
  File "...\base\functions\init.py", line 11, in init
    ct = ContentType.objects.get(app_label='news', model='Article')
  ...
  django.contrib.contenttypes.models.DoesNotExist: ContentType matching query does not exist.
  </code></pre>
  
  <p>Some tests I have done:</p>
  
  <ul>
  <li>It works fine if I try this code outside <code>syncdb</code>.</li>
  <li>It also works fine if I let <code>syncdb</code> create all the tables without this code, and then add this code and run syncdb without it having to make any changes.</li>
  <li>AND I am pretty sure it used to work, but  I changed a lot of things in other places since then, so I don't know where to start.</li>
  <li>I get the same error for other models in different apps.</li>
  <li>The signal is fired about 10 times, only the first few times throw the error.</li>
  </ul>
  
  <p>Thanks a lot for any hints!</p>