2017-09-05 4 views
0

Pour résumer, lorsque j'installe django, il s'agit de migrations que j'ai supprimées par le passé.L'installation de django crée également des migrations

Voici ce que je fais: (. Admin, utilisateur, ect)

$ mkvirtualenv foo 
$ (foo) pip install django 
Collecting django 
    Using cached Django-1.11.5-py2.py3-none-any.whl 
Collecting pytz (from django) 
    Using cached pytz-2017.2-py2.py3-none-any.whl 
Installing collected packages: pytz, django 
Successfully installed django-1.11.5 pytz-2017.2 

Maintenant, quand je regarde dans le répertoire où le venv est créé, je peux voir les migrations dans les applications django par défaut Je vois aussi les migrations dans un tout nouveau projet.

Ce problème a commencé après que j'ai essayé de réinitialiser mes migrations. J'ai supprimé les migrations de chaque application et abandonné toutes les tables. Ensuite, j'ai enlevé les migrations dans le venv, tout en faisant cela, j'ai accidentellement supprimé une application django. L'application manquante m'a forcé à désinstaller et installer django.

Même lorsque je dis à pip de ne pas utiliser le cache --no-cache-dir, j'obtiens toujours les migrations.

+1

Désolé pour peut-être manquer le point, mais pourquoi est-ce un problème que django a des migrations? –

+2

Django utilise les migrations par défaut depuis le 1.7. Ainsi, les applications par défaut comme auth utilisent les migrations pour créer les tables requises, comme auth_user et auth_group. Et une nouvelle application aura un dossier de migrations vide où il mettra les migrations une fois que vous définissez vos modèles. –

Répondre

2

Ceci est voulu. Les applications par défaut fournies avec Django ont besoin des tables créées par ces migrations.

Si vous n'avez pas besoin de ces applications, supprimez-les de INSTALLED_APPS dans settings.py.