Erreur lors de la création de nouveaux types de contenu. Assurez-contenttypes est migré avant d'essayer de migrer les applications individuellement
Je suis en train de migrer de Django 1.6
à Django 1.8
. J'ai été en utilisant South
pour la gestion des migrations
dans Django 1.6. J'ai réussi à créé de nouveaux fichiers de migration par python manage.py makemigrations
. lors de l'exécution de python manage.py migrate --fake-initial
, j'obtiens cette erreur
Traceback (most recent call last):
File "manage.py", line 39, in <module>
execute_from_command_line(sys.argv)
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site- packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site- packages/django/core/management/__init__.py", line 330, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/base.py", line 390, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/base.py", line 441, in execute
output = self.handle(*args, **options)
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 225, in handle
emit_post_migrate_signal(created_models, self.verbosity, self.interactive, connection.alias)
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/core/management/sql.py", line 280, in emit_post_migrate_signal
using=db)
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 201, in send
response = receiver(signal=self, sender=sender, **named)
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/contrib/auth/management/__init__.py", line 82, in create_permissions
ctype = ContentType.objects.db_manager(using).get_for_model(klass)
File "/home/jonty/.virtualenvs/squadrun/local/lib/python2.7/site-packages/django/contrib/contenttypes/models.py", line 78, in get_for_model
"Error creating new content types. Please make sure contenttypes "
Un des fichiers de migration 0001_initial.py
dit:
dependencies = [
('auth', '0006_require_contenttypes_0002'),
('clients', '0002_auto_20150428_1551'),
('players', '0001_initial'),
]
qui je suppose est en particulier le problème. Quelle pourrait être la solution à ce problème. Toute aide sera appréciée.
- La dépendance à l'auth 0006 devraient veiller à ce que
contenttypes
est migré avant la migration post signal est exécuté. Quel est le message d'erreur si vous exécutez manuellementContentType.objects.get(app_label=<app label>, model_name=<model name>)
? ContentType matching query does not exist
- Et avec
get_or_create()
?
Vous devez vous connecter pour publier un commentaire.
Je pense que cela a quelque chose à voir avec "la suppression de La
ContentType.name
", selon cette. Mais de toute façon il ne marche pas.En supprimant manuellement la colonne
name
de " django_content_type table. Par exemple.'ALTER TABLE django_content_type DROP COLUMN name'
J'ai été en mesure d'appliquer les migrations. Peut-être que cela peut vous obtenir un peu plus loin, à moins.
django_content_type
et l'exécution de la migration. Ouais et c'est parce que laname
a été supprimé dansDjango 1.8
.django/contrib/contenttypes/migrations/0002_remove_content_type_name.py
dans Django 1.8. Ne pas vérifier lorsqu'il a été ajouté.:/
Essayer de migrer auth application tout d'abord, et puis les autres:
Dans mon cas, ce que j'ai fait pour résoudre cette a été mise à jour vers une version plus récente de django.
Si vous travaillez avec mac viens de faire:
Peut paraitre étrange, mais j'ai fixé ce, par la mise à niveau de Django version 1.8.
Au départ, j'ai été en utilisant le ver de 1,7
À ajouter au commentaire de @int_ua
Ajouter une dépendance à la migration qui est un échec:
Puis exécutez à nouveau la migration.
J'ai eu de la fusion de deux systèmes de Django 1.9.1 et je ne pouvais pas obtenir au-delà de cette erreur:
Vaste googler et stackoverflowing été vains. Enfin, j'ai ajouté la ligne de débogage pour
~/.virtualenvs/(venv_name)/lib/python2.7/site-packages/django/contrib/contenttypes/models.py
Ce m'a dit les noms des modèles qui ont été la cause de l'erreur et a finalement conduit à la fixer.
J'utilise Postgres et les numéros de séquence pour les tables django_content_type et auth_permission n'ont pas été pointant vers la fin de la table, causant des inserts à l'échec.
Ces 2 lignes fixes que (basé sur cette DONC, après les)