webentwicklung-frage-antwort-db.com.de

Django: Fehler: Unbekannter Befehl: "Makemigrations"

Ich versuche, dem Tutorial Django zu folgen, und bei der Eingabe von python manage.py makemigrations polls trat der folgende Fehler auf

Unknown command: 'makemigrations'

Hier ist der link zum Tutorial und ich habe alle vorherigen Schritte erfolgreich abgeschlossen und ich bin mir nicht sicher, was jetzt los ist oder wie ich das Problem beheben kann ... __ P.S .: Ich habe bereits "Umfragen" in die INSTALLED_APPS aufgenommen!

INSTALLED_APPS = (
    'Django.contrib.admin',
    'Django.contrib.auth',
    'Django.contrib.contenttypes',
    'Django.contrib.sessions',
    'Django.contrib.messages',
    'Django.contrib.staticfiles',
    'polls',
    'South',
)

Antwort: Ich musste INSTALLED_APPS folgendermaßen ändern:

INSTALLED_APPS = (
        'Django.contrib.admin',
        'Django.contrib.auth',
        'Django.contrib.contenttypes',
        'Django.contrib.sessions',
        'Django.contrib.messages',
        'Django.contrib.staticfiles',
        'polls',
    )

und auch diesen Befehl verwendet: python manage.py syncdb

23
Mona Jalal

Migrationen wurden erstmals in Version 1.7 hinzugefügt, die offiziell am 2. September 2014 veröffentlicht wurde. Sie müssen sicherstellen, dass Ihr Tutorial der Version von Django entspricht, mit der Sie arbeiten. Zum Beispiel umfasst diese Version des Tutorials 1.9:

https://docs.djangoproject.com/de/1.9/intro/tutorial01/

Wenn Sie eine ältere Version von Django verwenden, können Sie "1.9" in dieser URL in die Version ändern, in der Sie sich gerade befinden (zurück auf 1.3). Oder verwenden Sie die Dropdown-Liste auf der Docs-Seite, um die Version auszuwählen und nach "Tutorial" zu suchen.

22
Peter DeGlopper

Finden Sie heraus, welche Version von Django Sie verwenden ( danke @BradyEmerso n):

python -c "import Django; print(Django.get_version())"

Wenn älter als 1,8:

pip install --upgrade Django
3
Bob Stein

In Django wurde Makemigration nach 1.7 hinzugefügt. Wenn Sie also eine ältere Version von Django verwenden, müssen Sie die Datei settings.py ändern und Ihre Anwendung in der installierten App hinzufügen 

INSTALLED_APPS = (
    'Demo',
    'Django.contrib.admin',
    'Django.contrib.auth',
    'Django.contrib.contenttypes',
    'Django.contrib.sessions',
    'Django.contrib.messages',
    'Django.contrib.staticfiles',
)

und dann können Sie den Befehl ausführen 

python manage.py syncdb 

2
bhatt ravii

Ich habe Version 1.9 verwendet und bekomme immer noch diesen Fehler. Ich hatte Migrationen ohne Anwendung und das war die Hauptursache in meinem Fall. Ich lief 'python manage.py migrate' um sie anzuwenden und es hat für mich funktioniert.

1

Sie müssen zunächst die virtuelle Umgebung laden.

Verwenden Sie den folgenden Code für Linux/OSX:

source venv/bin/active

Und der folgende Code für Windows

source venv/Scripts/activate
1
user3704354

Zum ersten Mal füge ich den folgenden Code in die Datei project_name\settings.py ein. 

                  `INSTALLED_APPS = [
        'Django.contrib.admin',
        'Django.contrib.auth',
        'Django.contrib.contenttypes',
        'Django.contrib.sessions',
        'Django.contrib.messages',
        'Django.contrib.staticfiles',
        #Django REST Framework
        'rest_framework',
        #Games application
        'games.apps.GamesConfig',
                  ]`

Nach dem Speichern wurde beim Ausführen des folgenden Codes ein Fehler angezeigt.

                 `python manage.py makemigrations games`

Dann überprüfe ich die Datei settings.py. Ich stelle fest, dass es zwei INSTALLED_APPS gibt und der zweite nicht. Als ich diese hinzufügte, funktionierte der Code.

       `#Django REST Framework
       'rest_framework',
        #Games application
       'games.apps.GamesConfig',`
0
Sibel Kahraman

Ich habe folgendes gemacht (für Python-Version 3.6.4), um dieses Problem zu beheben:

  1. install virtualenv
  2. virtualenv aktivieren

Prost

0
Akshay Lokur