Django Standalone Script
django, python
Solution
Try this
import sys, os, django
sys.path.append("/path/to/store") #here store is root folder(means parent).
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "store.settings")
django.setup()
from store_app.models import MyModel
This script you can use anywhere in your system.
Problem
I am trying to access my Django (v1.10) app DB from another python script and having some trouble doing so. This is my file and folder structure: ``` 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 ``` In accordance with Django's documentations my `other_script.py` looks like this: ``` import django from django.conf import settings settings.configure(DEBUG=True) django.setup() from store.store_app.models import MyModel ``` But it generates a runtime error: ``` RunTimeError: Model class store.store_app.models.MyModel doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS. ``` I should note that my `INSTALLED_APPS` list contains `store_app` as its last element. If instead I try to pass a config like this: ``` 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 ``` I get: ``` AttributeError: type object 'StoreAppConfig has no attribute 'LOGGING_CONFIG'. ``` If I edit `settings.py` and add `LOGGING_CONFIG=None` I get another error about another missing attribute, and so on. Any suggestions will be appreciated.