2015-07-04 16 views
25

Django runserver klagt:Django "Sie haben nicht zugeordnete Migrationen". Welche?

You have unapplied migrations; 
your app may not work properly until they are applied. 
Run 'python manage.py migrate' to apply them. 

Wie kann ich herausfinden, welche Migrationen unangewendet sind ohne Migration ausgeführt wird?

+0

Eine Möglichkeit, dies zu tun, ist die Tabelle django_migrations in der DB zu sehen und zu prüfen, welche angewendet werden. Aber ich war mir nicht sicher, ob es einen einfacheren Weg gab. –

Antwort

47

Wenn Sie auf 1.7 sind, verwenden Sie python manage.py migrate --list. (docs)

Wenn Sie 1,8 oder höher verwenden, verwenden Sie python manage.py showmigrations --list. (docs)

In jedem Fall wird ein [X] angezeigt, um zu zeigen, welche Migrationen angewendet wurden.

10

Eine geringfügige Änderung auf Kevins Antwort grep, um zeigen nur unangewendet Migrationen:

Django 1.7:

python manage.py migrate --list | grep -v '[X]' 

Django 1.8 und höher:

python manage.py showmigrations --list | grep -v '[X]' 
+0

Zeigt dies nicht nur angewandte Migrationen? – seanmus

+2

Nein, weil die Option '-v' dem Befehl' grep' mitteilt, dass Zeilen angezeigt werden sollen, die '' x '' – vabada

+0

nicht enthalten. Okay, gut zu wissen. – seanmus

2

danach mit Befehl:

python manage.py migrate 

Sie erhalten den gleichen Fehler: Sie haben Migrationen nicht angewendet;

einfache Möglichkeit, diesen Fehler zu lösen, ist zu für Ihr Datenbankverzeichnis zu Ihrem Projektverzeichnis suchen gehen, die nach dem Befehl

python manage.py migrate 

in meinem Fall erstellt db db.sqlite3 gerade erstellt wurde gelöscht diese Datei und gehen Sie zu Ihrem Terminal und verwenden Sie manage.py makemigrations gefolgt von manage.py migrate.

das funktionierte für mich. Alles Gute

Verwandte Themen