Maison >base de données >tutoriel mysql >Comment corriger l'erreur « La table n'existe pas » dans Django ?
Django : résolution de l'erreur « La table n'existe pas »
Cette erreur se produit lorsque Django tente d'effectuer des opérations de base de données sur une table qui ne n'existe plus, généralement en raison d'une suppression manuelle ou d'une modification des modèles de l'application.
Problème Explication :
Après avoir supprimé la table liée au modèle, la commande syncdb tente de créer à nouveau la table. Cependant, comme le modèle de la table est toujours présent dans models.py, Django s'attend à ce que la table soit là mais la trouve manquante. Cela entraîne l'erreur « La table n'existe pas ».
Étapes de la solution :
Exécuter les migrations (Pour les versions de Django >= 1.7) :
OU
Exécuter la migration du schéma (Pour les versions de Django < 1.7) :
Exemple pour les versions Django >= 1.7 :
# Comment out the model in models.py # class feed(models.Model): # ... # Execute migrations python manage.py makemigrations python manage.py migrate # Comment in the model in models.py # class feed(models.Model): # ... # Re-execute migrations python manage.py migrate
Exemple pour les versions Django < 1.7 :
# Comment out the model in models.py # class feed(models.Model): # ... # Execute schema migration python manage.py schemamigration someapp --auto python manage.py migrate someapp --fake # Comment in the model in models.py # class feed(models.Model): # ... # Re-execute schema migration python manage.py migrate someapp
En suivant ces étapes, vous pouvez recréer les tables manquantes et résoudre l'erreur « La table n'existe pas ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!