Maison > Article > base de données > Comment corriger l'erreur « La table n'existe pas » lors de la resynchronisation de votre base de données Django ?
Django : Erreur "La table n'existe pas"
Lors de la suppression des tables associées à une application et de la tentative de resynchronisation de la base de données à l'aide de syncdb commande, une erreur peut se produire indiquant que la table n'existe plus.
Cause :
La table manquante est probablement celle supprimée lorsque les tables de l'application associée ont été supprimées. Django nécessite l'existence d'une table avant de synchroniser les données.
Solution :
Pour récupérer la table manquante, suivez ces étapes :
Créer des migrations (Django 1.7) :
Si la version de Django est 1.7 ou ultérieure, exécutez la commande makemigrations :
python manage.py makemigrations
Appliquer les migrations (Fake Run) :
Appliquer les migrations sans réellement altérer la base de données en utilisant l'indicateur --fake :
python manage.py migrate --fake
Réappliquer les migrations (pas de faux) :
Exécutez à nouveau les migrations, cette fois en omettant l'indicateur --fake pour créer définitivement la table :
python manage.py migrate
Alternative pour Django < 1.7 :
Pour les versions de Django antérieures à 1.7, les commandes suivantes doivent être utilisées :
python manage.py schemamigration someapp --auto python manage.py migrate someapp --fake
En suivant ces étapes, vous pouvez réussir à récupérer la table manquante et à synchroniser la base de données correctement.
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!