Résolue

Page admin accessible sans migration

# Django # Migrations

Bonsoir, j'ai repis la formation django depuis le début comme indiqué sur le forum. J'ai effacé le cache de mon navigateur (mozilla), lorsque je lance runserver je tombe bien sur la page qui fonctionne avec le message en rouge sur les migrations MAIS quand je rentre admin je parviens sur la page de l'interface et non pas sur la page d'erreur!! Je n'ai pourtant pas appliqué les migrations, une explication?? merci

voici ce que me renvoie le terminal dans pycharm juste apreès avoir lancé le serveur puis admin

sans oublier bien sûr le début avec l'erreur due à l'absence de migration

Thibault houdon

Mentor

Salut !

Est-ce que tu as recommencé le projet depuis le début en supprimant tout et en refaisant le dossier ? L'explication la plus probable que je vois serait que tu as gardé le fichier .sqlite de la base de données de ton ancien projet, ce qui expliquerait que les tables soient déjà créées et l'admin disponible.

oui j'ai tout effacé et recommencé, j'ai peut être oublié certaines choses du passé mais pourquoi aurais-je le message d'erreur sur unapplied migrations si j'avais toujours le fichier .sqlite?

Thibault houdon

Mentor

Ça dépend de l'état de la base de données, Django stock dans une table de ta base de données les migrations qui ont déjà été appliquées, donc ça voudrait dire que cette table aurait été vide mais les tables de l'administration non.

Je vais refaire un test, peut-être qu'avec les dernières versions de Django il y a eu des changements et que des tables par défaut permettant d'accéder à l'admin sont créées lors de la création du projet avec django-admin.

je vois. Le soucis est que j'utilise la même que celle qui est utilisée dans la formation , donc pas une récente

Hello,

désolé j'interviens dans la discussion. tu veux dire que en tout début de projet tu peux accéder à l'interface web admin de Django sans avoir appliqué les migrations et sans avoir créer de super user ?

re salut, oui bizarrement mais je pense que comme le dit Thibault cela doit être dû au fait que j'ai déjà créé ce projet sur cet ordinateur et qu'il reste probablement des traces de mon travail précédent (j'ai effacé les dossiers mais bon....)

Thibault houdon

Mentor

Je viens de faire des tests avec la version Django utilisée dans la formation et la dernière version (4.2.7) et dans les deux cas l'interface d'administration est disponible même sans avoir fait les migrations.

Je pense plutôt que le problème vient de ma vidéo dans laquelle ma base de donnée devait être corrompue suite à mes nombreux tests (l'erreur indique que la table django_session est manquante).

Après, ce n'est que la page de connexion de l'interface qui fonctionne, mais tu ne pourras pas aller plus loin sans les migrations, car les migrations de base (les 18 indiquées comme non appliquées dans le message d'erreur), sont les migrations pour les groupes et authorisations de base, qui sont nécessaires au bon fonctionnement des utilisateurs et notamment du "superuser".

super Thibault c'est bon à savoir. Comme là j'ai repris très sérieusement j'ai vraiment envie de "maitriser" le plus possible et comprendre où ça coince;-)
Un grand merci.

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.