Dopasowanie zapytania ContentType nie istnieje w post_syncdb

Próbuję dodać kilka danych do bazy danych, gdy tylko zostaną utworzone tabele, używającpost_syncdb sygnał.

signals.post_syncdb.connect(init)

Następnie w funkcji init chcę ustawić uprawnienia, więc używam

ct = ContentType.objects.get(app_label='news', model='Article')
Permission(name='Approve articles', codename='can_approve_article', content_type=ct)

Ale jeśli upuszczę wszystkie stoły i ucieknęsyncdb, Dostaję

...
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.

Kilka testów, które zrobiłem:

Działa dobrze, jeśli wypróbuję ten kod na zewnątrzsyncdb.Działa również dobrze, jeśli pozwolęsyncdb utwórz wszystkie tabele bez tego kodu, a następnie dodaj ten kod i uruchom syncdb bez konieczności wprowadzania jakichkolwiek zmian.I jestem całkiem pewien, że kiedyś działało, ale od tego czasu zmieniłem wiele rzeczy w innych miejscach, więc nie wiem od czego zacząć.Otrzymuję ten sam błąd dla innych modeli w różnych aplikacjach.Sygnał jest wystrzelony około 10 razy, tylko kilka pierwszych razy wyrzuca błąd.

Wielkie dzięki za wszelkie wskazówki!

questionAnswers(1)

yourAnswerToTheQuestion