diff --git a/elasticstack/utils.py b/elasticstack/utils.py
index <HASH>..<HASH> 100644
--- a/elasticstack/utils.py
+++ b/elasticstack/utils.py
@@ -23,7 +23,6 @@
 
 from haystack import connections
 from importlib import import_module
-from django.apps import apps
 
 
 def prepare_object(obj, using='default'):
@@ -45,13 +44,23 @@ def prepare_object(obj, using='default'):
 def get_model(app_label, model_name):
     """
     Fetches a Django model using the app registry.
-    This doesn't require that an app with the given app label exists,
-    which makes it safe to call when the registry is being populated.
-    All other methods to access models might raise an exception about the
-    registry not being ready yet.
+
+    This doesn't require that an app with the given app label exists, which
+    makes it safe to call when the registry is being populated. All other
+    methods to access models might raise an exception about the registry not
+    being ready yet.
+
     Raises LookupError if model isn't found.
     """
     try:
+        from django.apps import apps
+        from django.core.exceptions import AppRegistryNotReady
+    except ImportError:
+        # Older Django version!
+        from django.db import models
+        return models.get_model(app_label, model_name)
+
+    try:
         return apps.get_model(app_label, model_name)
     except AppRegistryNotReady:
         if apps.apps_ready and not apps.models_ready:
Import old get_model for older Django

Includes compulsive docstring formatting