aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2012-11-29 15:02:32 -0800
committerTom Christie2012-11-29 15:02:32 -0800
commitc72a20c459ca748b27487b792265ae8796dedb1a (patch)
tree3a9f26a935f55914eaa306f825a53d522dff14a4
parent968f4a5ca40d8e85ff6a77e9263e0563285abe8f (diff)
parent731443b71eaa94a624952bb4ea5b142ac884cccb (diff)
downloaddjango-rest-framework-c72a20c459ca748b27487b792265ae8796dedb1a.tar.bz2
Merge pull request #452 from fabianbuechler/patch-1
Renderer negotiation: media_type specificty evaluation weak
-rw-r--r--rest_framework/negotiation.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/rest_framework/negotiation.py b/rest_framework/negotiation.py
index dae38477..ee2800a6 100644
--- a/rest_framework/negotiation.py
+++ b/rest_framework/negotiation.py
@@ -2,6 +2,7 @@ from django.http import Http404
from rest_framework import exceptions
from rest_framework.settings import api_settings
from rest_framework.utils.mediatypes import order_by_precedence, media_type_matches
+from rest_framework.utils.mediatypes import _MediaType
class BaseContentNegotiation(object):
@@ -48,7 +49,8 @@ class DefaultContentNegotiation(BaseContentNegotiation):
for media_type in media_type_set:
if media_type_matches(renderer.media_type, media_type):
# Return the most specific media type as accepted.
- if len(renderer.media_type) > len(media_type):
+ if (_MediaType(renderer.media_type).precedence >
+ _MediaType(media_type).precedence):
# Eg client requests '*/*'
# Accepted media type is 'application/json'
return renderer, renderer.media_type