A consulta correspondente ContentType não existe em post_syncdb
Eu estou tentando adicionar adicionar alguns dados ao banco de dados assim que as tabelas são criadas, usando opost_syncdb
sinal.
signals.post_syncdb.connect(init)
Então na função init, eu quero definir permissão, então eu uso
ct = ContentType.objects.get(app_label='news', model='Article')
Permission(name='Approve articles', codename='can_approve_article', content_type=ct)
Mas se eu derrubar todas as mesas e corrersyncdb
, Eu recebo
...
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.
Alguns testes que fiz:
Funciona bem se eu tentar esse código forasyncdb
.Também funciona bem se eu deixarsyncdb
crie todas as tabelas sem este código e, em seguida, adicione este código e execute o syncdb sem que seja necessário fazer alterações.E tenho certeza que costumava funcionar, mas mudei muitas coisas em outros lugares desde então, então não sei por onde começar.Eu recebo o mesmo erro para outros modelos em aplicativos diferentes.O sinal é disparado cerca de 10 vezes, apenas as primeiras vezes lançam o erro.Muito obrigado por qualquer sugestão!