Reputation: 3773
I have models.py
and test.py
files in my Django app folder.
My project is named strava
, app: explorer_api
How do I import a model into 'test.py`?
I have tried:
from strava.explorer_api.models import Activity
from explorer_api.models import Activity
from .models import Activity
from models import Activity
but:
SystemError: Parent module '' not loaded, cannot perform relative import
The structure:
/
admin.py
apps.py
collector.py
models.py
serializers.py
test.py
tests.py
urls.py
views.py
__init__.py
migrations/
0001_initial.py
__init__.py
__pycache__/
0001_initial.cpython-35.pyc
__init__.cpython-35.pyc
templates/
explorer_api/
index.html
save.html
__pycache__/
admin.cpython-35.pyc
collector.cpython-35.pyc
models.cpython-35.pyc
serializers.cpython-35.pyc
urls.cpython-35.pyc
views.cpython-35.pyc
__init__.cpython-35.pyc
Upvotes: 2
Views: 990
Reputation: 2568
Do you have explorer_api
inside your INSTALLED_APPS?
Also, leave just one import in tests.py
:
from explorer_api.models import Activity
Upvotes: 0
Reputation: 2359
have a look at this Django script to access model objects without using manage.py shell if strava is your project directory then
greater than or equal to Django 1.9-1.10
import sys, os, django
sys.path.append('full_path_to_strava_directory')
os.environ['DJANGO_SETTINGS_MODULE'] = 'strava.settings'
django.setup()
from strava.activity.models import Activity
pre Django 1.11
from strava.wsgi import application
from strava.activity models import Activity
Upvotes: 1