django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet. (django 2.0.1)(Python 3.6)

Overcame similar situation just now.

All you really need is this:

import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "your_project.settings")

And then these lines:

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

After that you can easily import models without AppRegistryNotReady: Apps aren't loaded yet.

UPDATE: This is really exactly the 4 code lines from wsgi.py file in your project's folder.

FOR DJANGO 3.0 In Django 3+ an extra variable is needed to resolve sync/async confusing:

os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true"

Please run check django-admin command to see if it have detected any errors.

python manage.py check

and/or

django-admin check

The Django docs say that django.setup loads the settings from settings.py as its first act, so it seems like a bad idea to run that in settings.py.

Try commenting out apps in INSTALLED_APPS one at a time - you'll probably find that one of them is not loading for some reason. Once you know which one it is, you can work out what is wrong with it.