Maison > base de données > tutoriel mysql > le corps du texte

Comment corriger l'erreur « La table n'existe pas » dans Django ?

Barbara Streisand
Libérer: 2024-11-14 22:38:02
original
866 Les gens l'ont consulté

How to Fix the

Django: Resolving "Table Doesn't Exist" Error

This error occurs when Django attempts to perform database operations on a table that no longer exists, typically due to a manual deletion or a change in the application's models.

Problem Explanation:

After dropping the model-related table, the syncdb command tries to create the table again. However, since the model for the table is still present in models.py, Django expects the table to be there but finds it missing. This results in the "Table doesn't exist" error.

Solution Steps:

  1. Drop tables (You've already done this).
  2. Comment out the model in models.py.
  3. Execute migrations (For Django versions >= 1.7):

    • python manage.py makemigrations
    • python manage.py migrate --fake

    OR

    Execute schema migration (For Django versions < 1.7):

    • python manage.py schemamigration someapp --auto
    • python manage.py migrate someapp --fake
  4. Comment in the model in models.py.
  5. Re-execute migrations or schema migration (this time without --fake).

Example for Django versions >= 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
Copier après la connexion

Example for Django versions < 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
Copier après la connexion

By following these steps, you can recreate the missing tables and resolve the "Table doesn't exist" error.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal