tomchristie/django-rest-framework — pull request #452 by fabianbuechler (2012-11-27 09:13:43+00:00)
Title: Renderer negotiation: media_type specificty evaluation weak

The `DefaultContentNegotiation` handler uses

For example: Google Chrome sends an Accept-header of `Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8`, when I request a *.png URL.
After matching the media-types with the available renderers (in my case only a custom `PNGRenderer` with a `media_type='image/png'`), only `*/*;q=0.8` is left, which happens to have the same length as the "image/png" media-type defined by the renderer (9 characters).

The specificity of the renderer's media-type over the Accept-header's one is only determined by length.
Using your `_MediaType.precedence` would be preferable in my eyes.

Regards, Fabian