Remove apps.get_model fallback

* Corrects presumed logic error in `ResolveModelWithPatchedDjangoTests`
This commit is contained in:
Carlton Gibson 2015-09-22 16:14:45 +02:00
parent 68c88e180f
commit 6e86a53c92
3 changed files with 6 additions and 13 deletions

View File

@ -82,14 +82,6 @@ except ImportError:
postgres_fields = None postgres_fields = None
# Apps only exists from 1.7 onwards.
try:
from django.apps import apps
get_model = apps.get_model
except ImportError:
from django.db.models import get_model
# django-filter is optional # django-filter is optional
try: try:
import django_filters import django_filters

View File

@ -8,11 +8,12 @@ Usage: `get_field_info(model)` returns a `FieldInfo` instance.
import inspect import inspect
from collections import namedtuple from collections import namedtuple
from django.apps import apps
from django.core.exceptions import ImproperlyConfigured from django.core.exceptions import ImproperlyConfigured
from django.db import models from django.db import models
from django.utils import six from django.utils import six
from rest_framework.compat import OrderedDict, get_model from rest_framework.compat import OrderedDict
FieldInfo = namedtuple('FieldResult', [ FieldInfo = namedtuple('FieldResult', [
'pk', # Model field instance 'pk', # Model field instance
@ -45,7 +46,7 @@ def _resolve_model(obj):
""" """
if isinstance(obj, six.string_types) and len(obj.split('.')) == 2: if isinstance(obj, six.string_types) and len(obj.split('.')) == 2:
app_name, model_name = obj.split('.') app_name, model_name = obj.split('.')
resolved_model = get_model(app_name, model_name) resolved_model = apps.get_model(app_name, model_name)
if resolved_model is None: if resolved_model is None:
msg = "Django did not return a model for {0}.{1}" msg = "Django did not return a model for {0}.{1}"
raise ImproperlyConfigured(msg.format(app_name, model_name)) raise ImproperlyConfigured(msg.format(app_name, model_name))

View File

@ -150,16 +150,16 @@ class ResolveModelWithPatchedDjangoTests(TestCase):
def setUp(self): def setUp(self):
"""Monkeypatch get_model.""" """Monkeypatch get_model."""
self.get_model = rest_framework.utils.model_meta.get_model self.get_model = rest_framework.utils.model_meta.apps.get_model
def get_model(app_label, model_name): def get_model(app_label, model_name):
return None return None
rest_framework.utils.model_meta.get_model = get_model rest_framework.utils.model_meta.apps.get_model = get_model
def tearDown(self): def tearDown(self):
"""Revert monkeypatching.""" """Revert monkeypatching."""
rest_framework.utils.model_meta.models.get_model = self.get_model rest_framework.utils.model_meta.apps.get_model = self.get_model
def test_blows_up_if_model_does_not_resolve(self): def test_blows_up_if_model_does_not_resolve(self):
with self.assertRaises(ImproperlyConfigured): with self.assertRaises(ImproperlyConfigured):