I know how to reload a regular Python module within a regular Python interpreter session. This question documents how to do that pretty well:
How do I unload (reload
As far as I'm concerned, none of the above solutions worked on their own, also this thread didn't help much on its own, but after combining the approaches I managed to reload my models in shell_plus:
models.pycClean Django model cache (like here):
from django.db.models.loading import AppCache
cache = AppCache()
from django.utils.datastructures import SortedDict
cache.app_store = SortedDict()
cache.app_models = SortedDict()
cache.app_errors = {}
cache.handled = {}
cache.loaded = False
Reload model like here
reload(project.app.models)
from project.app.models import MyModel