Ich versuche, von einem anderen Python-Skript auf meine Django (v1.10) -App-Datenbank zuzugreifen und habe dabei einige Probleme.Django Standalone-Skript
Das ist mein Datei- und Ordnerstruktur:
store
store
__init.py__
settings.py
urls.py
wsgi.py
store_app
__init.py__
admin.py
apps.py
models.py
...
db.sqlite3
manage.py
other_script.py
Gemäß Django's documentations meine other_script.py
sieht wie folgt aus:
import django
from django.conf import settings
settings.configure(DEBUG=True)
django.setup()
from store.store_app.models import MyModel
Aber es erzeugt einen Laufzeitfehler:
RunTimeError: Model class store.store_app.models.MyModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.
Ich sollte beachten, dass meine INSTALLED_APPS
Liste enthält store_app
als sein letztes Element.
Wenn stattdessen versuche ich eine Config wie folgt weitergeben müssen:
import django
from django.conf import settings
from store.store_app.apps import StoreAppConfig
settings.configure(StoreAppConfig, DEBUG=True)
django.setup()
from store.store_app.models import MyModel
ich:
AttributeError: type object 'StoreAppConfig has no attribute 'LOGGING_CONFIG'.
Wenn ich settings.py
bearbeiten und hinzufügen LOGGING_CONFIG=None
ich einen anderen Fehler zu einem anderen fehlt Attribut erhalten, und so auf.
Alle Vorschläge werden geschätzt.
verwendet es eine virtuelle Umgebung? – FeedTheWeb
@lxer: nein, es ist nicht –
der Rest Ihrer Django App funktioniert ohne virtuelles env? Noch eine Frage: Was passiert, wenn Sie das Skript direkt starten? ('python yescript.py') – FeedTheWeb