diff --git a/nece/managers.py b/nece/managers.py
index <HASH>..<HASH> 100644
--- a/nece/managers.py
+++ b/nece/managers.py
@@ -1,11 +1,9 @@
 from django.db import models
-from distutils.version import StrictVersion
-from django import get_version
 from django.conf import settings
 
-if StrictVersion(get_version()) >= StrictVersion('1.9.0'):
+try:
     from django.db.models.query import ModelIterable
-else:
+except ImportError:
     ModelIterable = object  # just mocking it
 
 
diff --git a/nece/models.py b/nece/models.py
index <HASH>..<HASH> 100644
--- a/nece/models.py
+++ b/nece/models.py
@@ -1,15 +1,13 @@
 from __future__ import unicode_literals
 
-from distutils.version import StrictVersion
-from django import get_version
 from django.db import models
 from django.db.models import options
 from nece.managers import TranslationManager, TranslationMixin
 from nece.exceptions import NonTranslatableFieldError
 
-if StrictVersion(get_version()) >= StrictVersion('1.9.0'):
+try:
     from django.contrib.postgres.fields import JSONField
-else:
+except ImportError:
     from nece.fields.pgjson import JSONField
 
 options.DEFAULT_NAMES += ('translatable_fields',)
Detect features instead of checking Django version

Working on the `master` branch of Django, `get_version` returns
something like '<I>.de<I>', which doesn't play well
with `StrictVersion`.

Instead of relying on this mechanism, we use a `try/except` block
to import what we need and fallback, if necessary, on what's actually
available.