Django 1.10 Makemigrations-Fehler

Marc

Ich habe große Probleme, eine Django-App auf einem Ubuntu-Computer zu installieren, auf dem Django 1.10.6 ausgeführt wird.

Ich bin daran gewöhnt, eine ältere Version von Django zu verwenden, und jetzt kann ich meine Webapp nicht installieren. Hier ist die Situation:

Ich habe ein Django-Projekt namens myproject. Die Dateistruktur ist:

(BASEDIR)/manage.py
(BASEDIR)/mycommon/    # I will discuss mycommon below
(BASEDIR)/myproject/
(BASEDIR)/myproject/settings.py
(BASEDIR)/myproject/urls.py
(BASEDIR)/myproject/views.py
(BASEDIR)/myproject/wsgi.py
(BASEDIR)/myproject/models/
(BASEDIR)/myproject/models/__init__.py
(BASEDIR)/myproject/models/models.py

Es stellt sich heraus, dass ich für dieses Projekt meine Modelle in ein gemeinsames Paket packen muss, da es eine andere Python-Anwendung gibt (die Twisted verwendet, die Django bootet), die auf diese Modelle zugreifen muss. Ich werde dieses Paket "mycommon" nennen. Also meine "echten" Modelle sind hier:

(BASEDIR)/mycommon/
(BASEDIR)/mycommon/utils.py
(BASEDIR)/mycommon/models/
(BASEDIR)/mycommon/models/__init__.py
(BASEDIR)/mycommon/models/models.py

Die Django-Einstellungsdatei befindet sich also in (BASEDIR)/myproject/settings.py und der Parameter INSTALLED_APPS ist so eingestellt:

INSTALLED_APPS = (
'myproject.models',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
)

Beachten Sie schließlich, dass myproject/models/models.py sehr einfach ist, da es nur die mycommon-Modelle verwendet:

from django.db import models
from mycommon.models.models import *

Soweit so gut, dies ist eine Struktur, die bei älteren Django-Versionen gut funktioniert. Wie auch immer, ich beginne mit einer leeren MYSQL-Datenbank (erstellt, aber leer) und gehe jetzt zurück zu (BASEDIR) und führe dies aus:

python manage.py makemigrations mycommon.models

Leider bekomme ich eine Fehlermeldung wie diese:

RuntimeError: Model class mycommon.models.models.SomeModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

Also was mache ich falsch?

alfonso.kim

In INSTALLED_APPSsollte man nur haben 'myproject', ohne '.models'.

Da Sie jedoch Django 1.10 verwenden, wird es sauberer, wenn Sie Ihre mycommonApp über manage.py startapp mycommon. Dadurch werden einige Dateien erstellt, aber Sie sollten Ihre Modelle in mycommon/models.py. Beachten Sie die mycommon/apps.py. Sie müssen diese Datei nicht berühren, sondern nur in die INSTALLED_APPSListe aufnehmen: 'mycommon.apps.MycommonConfig'. Auf diese Weise erkennt das Migrations-Framework Ihre Modelle automatisch.

Entfernen Sie abschließend myproject/models, da myprojectdie Projektkonfiguration enthalten ist.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Python / Django Makemigrations-Fehler

django makemigrations Fehler "keine solche Spalte"

Makemigrations Django TypeError fehlt 1 erforderliches Positionsargument: 'on_delete'

Wenn ich versuche, den Befehl makemigrations in Django auszuführen, habe ich einen Fehler erhalten

Ich habe einen Fehler in django mit dem Befehl manage.py makemigrations

Können Sie diesen Python-Django-Makemigrations-Fehler erklären?

Django-Fehler keine solche Tabelle: auth_group beim Ausführen von makemigrations

Django Makemigrations App bestellen

Makemigrations/Migration in Django

makemigrations erkennt keine Änderungen in Django

python manage.py makemigrations gibt attributeError aus: Modul 'django.views.debug' hat kein Attribut 'TECHNICAL_500_TEMPLATE' Fehler

Django makemigrations aktualisiert die Datenbank nicht

makemigrations 忽略所有字段 (DJANGO)

Django makemigrations, 'Modul'-Objekt ist nicht iterierbar

Saleor Django SQL-Fehler unter Windows 10 // eCommerce

Django-Kanäle installieren Fehler in Windows 10

Swift 3, iOS 10 - Fehler: Thread 1 Signal Sigabrt (SPRITEKIT)

Diesen Fehler in django bekommen "login () fehlt 1 erforderliches Positionsargument: 'user'"

Django Makemigrations und Migrate wiederholen sich immer wieder

Django makemigrations nimmt immer wieder die gleiche Änderung vor

django makemigrations schlägt nach dem Entfernen einer Klasse fehl

Django 1.7 makemigrations - ValueError: Funktion: Lambda kann nicht serialisiert werden

Django makemigrations AttributeError: Das Objekt 'str' hat kein Attribut '_meta'.

Django - Makemigrations- App konnte nicht gefunden werden

Django makemigrations erstellt Migrationen für Modelle mit verwaltet = Falsch

Django 1.7 makemigrations - ValueError: Klasse kann nicht serialisiert werden

ValueError: Could not find function validator when calling makemigrations in Django 4.0

Django und Python ./manage.py Makemigrations Ausführungsfehler

Wie läuft makemigrations <app> - leer mit Django und Docker?