From 0a48d21e09124c12417bcb37fa531763768f330f Mon Sep 17 00:00:00 2001 From: Wim Glenn Date: Fri, 12 Aug 2016 14:33:35 -0500 Subject: [PATCH 01/29] fix a b0rked code example in the permissions section of api guide --- docs/api-guide/permissions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api-guide/permissions.md b/docs/api-guide/permissions.md index e0838e94a..36719c48f 100644 --- a/docs/api-guide/permissions.md +++ b/docs/api-guide/permissions.md @@ -92,7 +92,7 @@ Or, if you're using the `@api_view` decorator with function based views. from rest_framework.permissions import IsAuthenticated from rest_framework.response import Response - @api_view('GET') + @api_view(['GET']) @permission_classes((IsAuthenticated, )) def example_view(request, format=None): content = { From 075a0bde5a898825e02b94769513fb66e6af706f Mon Sep 17 00:00:00 2001 From: James Beith Date: Mon, 15 Aug 2016 09:28:46 +0100 Subject: [PATCH 02/29] Fix template syntax error for `as_list_of_strings` (#4403) --- .../templates/rest_framework/vertical/checkbox_multiple.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rest_framework/templates/rest_framework/vertical/checkbox_multiple.html b/rest_framework/templates/rest_framework/vertical/checkbox_multiple.html index b933f4ff5..7a43b3f58 100644 --- a/rest_framework/templates/rest_framework/vertical/checkbox_multiple.html +++ b/rest_framework/templates/rest_framework/vertical/checkbox_multiple.html @@ -9,7 +9,7 @@
{% for key, text in field.choices.items %} {% endfor %} @@ -18,7 +18,7 @@ {% for key, text in field.choices.items %}
From 785b206b8158eb9c7b05d9d8e94057099fef6fa0 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 15 Aug 2016 16:21:51 +0100 Subject: [PATCH 03/29] Tweak doctsring. Closes #4404 [ci skip] --- rest_framework/fields.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 8f12b2df4..f76e4e801 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -432,7 +432,7 @@ class Field(object): is provided for this field. If a default has not been set for this field then this will simply - return `empty`, indicating that no value should be set in the + raise `SkipField`, indicating that no value should be set in the validated data for this field. """ if self.default is empty or getattr(self.root, 'partial', False): From 101fd29039dc17df3ad317580cf4bcf5ba1c1c03 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 15 Aug 2016 16:53:17 +0100 Subject: [PATCH 04/29] Do not include uploads in request.POST (#4407) --- rest_framework/request.py | 2 +- tests/test_request.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/rest_framework/request.py b/rest_framework/request.py index aafafcb32..f5738bfd5 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -373,7 +373,7 @@ class Request(object): if not _hasattr(self, '_data'): self._load_data_and_files() if is_form_media_type(self.content_type): - return self.data + return self._data return QueryDict('', encoding=self._request._encoding) @property diff --git a/tests/test_request.py b/tests/test_request.py index dee636d76..dbfa695fd 100644 --- a/tests/test_request.py +++ b/tests/test_request.py @@ -7,6 +7,7 @@ from django.conf.urls import url from django.contrib.auth import authenticate, login, logout from django.contrib.auth.models import User from django.contrib.sessions.middleware import SessionMiddleware +from django.core.files.uploadedfile import SimpleUploadedFile from django.test import TestCase, override_settings from django.utils import six @@ -78,6 +79,16 @@ class TestContentParsing(TestCase): request.parsers = (FormParser(), MultiPartParser()) self.assertEqual(list(request.POST.items()), list(data.items())) + def test_request_POST_with_files(self): + """ + Ensure request.POST returns no content for POST request with file content. + """ + upload = SimpleUploadedFile("file.txt", b"file_content") + request = Request(factory.post('/', {'upload': upload})) + request.parsers = (FormParser(), MultiPartParser()) + self.assertEqual(list(request.POST.keys()), []) + self.assertEqual(list(request.FILES.keys()), ['upload']) + def test_standard_behaviour_determines_form_content_PUT(self): """ Ensure request.data returns content for PUT request with form content. From e3f8d06bafd37780d6010b0a963029a3448d5e54 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Mon, 15 Aug 2016 17:10:55 +0100 Subject: [PATCH 05/29] Include .action attribute on viewsets when generating schemas (#4408) --- rest_framework/schemas.py | 7 +++++++ tests/test_schemas.py | 1 + 2 files changed, 8 insertions(+) diff --git a/rest_framework/schemas.py b/rest_framework/schemas.py index 0618e94fd..c9834c64d 100644 --- a/rest_framework/schemas.py +++ b/rest_framework/schemas.py @@ -79,6 +79,13 @@ class SchemaGenerator(object): view.kwargs = {} view.format_kwarg = None + actions = getattr(callback, 'actions', None) + if actions is not None: + if method == 'OPTIONS': + view.action = 'metadata' + else: + view.action = actions.get(method.lower()) + if request is not None: view.request = clone_request(request, method) try: diff --git a/tests/test_schemas.py b/tests/test_schemas.py index 81b796c35..c866e09be 100644 --- a/tests/test_schemas.py +++ b/tests/test_schemas.py @@ -49,6 +49,7 @@ class ExampleViewSet(ModelViewSet): def get_serializer(self, *args, **kwargs): assert self.request + assert self.action return super(ExampleViewSet, self).get_serializer(*args, **kwargs) From 966330a85a404b2967883c5366548cad4e3586d0 Mon Sep 17 00:00:00 2001 From: nevun Date: Wed, 17 Aug 2016 20:42:40 +0200 Subject: [PATCH 06/29] Replace utf8 character ' with its ascii counterpart, makes bdist_rpm.py happy on centos7 (#4412) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 179f2891a..e1e252609 100644 --- a/README.md +++ b/README.md @@ -169,7 +169,7 @@ You may also want to [follow the author on Twitter][twitter]. # Security -If you believe you’ve found something in Django REST framework which has security implications, please **do not raise the issue in a public forum**. +If you believe you've found something in Django REST framework which has security implications, please **do not raise the issue in a public forum**. Send a description of the issue via email to [rest-framework-security@googlegroups.com][security-mail]. The project maintainers will then work with you to resolve any issues where required, prior to any public disclosure. From b76984d222281e58e3105df0128141567b9a7697 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 18 Aug 2016 11:24:03 +0100 Subject: [PATCH 07/29] Allow custom CSRF_HEADER_NAME setting. (#4415) --- rest_framework/renderers.py | 9 ++++++++- rest_framework/static/rest_framework/js/csrf.js | 2 +- rest_framework/templates/rest_framework/admin.html | 1 + rest_framework/templates/rest_framework/base.html | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 371cd6ec7..11e9fb960 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -645,6 +645,12 @@ class BrowsableAPIRenderer(BaseRenderer): else: paginator = None + csrf_cookie_name = settings.CSRF_COOKIE_NAME + csrf_header_name = getattr(settings, 'CSRF_HEADER_NAME', 'HTTP_X_CSRFToken') # Fallback for Django 1.8 + if csrf_header_name.startswith('HTTP_'): + csrf_header_name = csrf_header_name[5:] + csrf_header_name = csrf_header_name.replace('_', '-') + context = { 'content': self.get_content(renderer, data, accepted_media_type, renderer_context), 'view': view, @@ -675,7 +681,8 @@ class BrowsableAPIRenderer(BaseRenderer): 'display_edit_forms': bool(response.status_code != 403), 'api_settings': api_settings, - 'csrf_cookie_name': settings.CSRF_COOKIE_NAME, + 'csrf_cookie_name': csrf_cookie_name, + 'csrf_header_name': csrf_header_name } return context diff --git a/rest_framework/static/rest_framework/js/csrf.js b/rest_framework/static/rest_framework/js/csrf.js index f8ab4428c..97c8d0124 100644 --- a/rest_framework/static/rest_framework/js/csrf.js +++ b/rest_framework/static/rest_framework/js/csrf.js @@ -46,7 +46,7 @@ $.ajaxSetup({ // Send the token to same-origin, relative URLs only. // Send the token only if the method warrants CSRF protection // Using the CSRFToken value acquired earlier - xhr.setRequestHeader("X-CSRFToken", csrftoken); + xhr.setRequestHeader(window.drf.csrfHeaderName, csrftoken); } } }); diff --git a/rest_framework/templates/rest_framework/admin.html b/rest_framework/templates/rest_framework/admin.html index 89af81ef7..eb2b8f1c7 100644 --- a/rest_framework/templates/rest_framework/admin.html +++ b/rest_framework/templates/rest_framework/admin.html @@ -232,6 +232,7 @@ {% block script %} diff --git a/rest_framework/templates/rest_framework/base.html b/rest_framework/templates/rest_framework/base.html index 4c1136087..989a086ea 100644 --- a/rest_framework/templates/rest_framework/base.html +++ b/rest_framework/templates/rest_framework/base.html @@ -263,6 +263,7 @@ {% block script %} From 382ea770b50a2615b4a8b99976d9f6a2a2093c71 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 18 Aug 2016 14:42:15 +0100 Subject: [PATCH 08/29] Improve debug error handling (#4416) --- rest_framework/request.py | 5 +++++ rest_framework/views.py | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/rest_framework/request.py b/rest_framework/request.py index f5738bfd5..355cccad7 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -391,3 +391,8 @@ class Request(object): '`request.QUERY_PARAMS` has been deprecated in favor of `request.query_params` ' 'since version 3.0, and has been fully removed as of version 3.2.' ) + + def force_plaintext_errors(self, value): + # Hack to allow our exception handler to force choice of + # plaintext or html error responses. + self._request.is_ajax = lambda: value diff --git a/rest_framework/views.py b/rest_framework/views.py index b86bb7eaa..15d8c6cde 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -3,17 +3,14 @@ Provides an APIView class that is the base of all views in REST framework. """ from __future__ import unicode_literals -import sys - from django.conf import settings from django.core.exceptions import PermissionDenied from django.db import models from django.http import Http404 -from django.http.response import HttpResponse, HttpResponseBase +from django.http.response import HttpResponseBase from django.utils import six from django.utils.encoding import smart_text from django.utils.translation import ugettext_lazy as _ -from django.views import debug from django.views.decorators.csrf import csrf_exempt from django.views.generic import View @@ -95,11 +92,6 @@ def exception_handler(exc, context): set_rollback() return Response(data, status=status.HTTP_403_FORBIDDEN) - # throw django's error page if debug is True - if settings.DEBUG: - exception_reporter = debug.ExceptionReporter(context.get('request'), *sys.exc_info()) - return HttpResponse(exception_reporter.get_traceback_html(), status=500) - return None @@ -439,11 +431,19 @@ class APIView(View): response = exception_handler(exc, context) if response is None: - raise + self.raise_uncaught_exception(exc) response.exception = True return response + def raise_uncaught_exception(self, exc): + if settings.DEBUG: + request = self.request + renderer_format = getattr(request.accepted_renderer, 'format') + use_plaintext_traceback = renderer_format not in ('html', 'api', 'admin') + request.force_plaintext_errors(use_plaintext_traceback) + raise + # Note: Views are made CSRF exempt from within `as_view` as to prevent # accidental removal of this exemption in cases where `dispatch` needs to # be overridden. From 59ca61abcd3083d849843270e491cfa03cd14f79 Mon Sep 17 00:00:00 2001 From: Robert Jensen Date: Fri, 19 Aug 2016 06:44:31 -0400 Subject: [PATCH 09/29] Add django-rest-framework-roles to third party packages in permissions docs (#4417) --- docs/api-guide/permissions.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/api-guide/permissions.md b/docs/api-guide/permissions.md index 36719c48f..7cdb59531 100644 --- a/docs/api-guide/permissions.md +++ b/docs/api-guide/permissions.md @@ -261,6 +261,10 @@ The [REST Condition][rest-condition] package is another extension for building c The [DRY Rest Permissions][dry-rest-permissions] package provides the ability to define different permissions for individual default and custom actions. This package is made for apps with permissions that are derived from relationships defined in the app's data model. It also supports permission checks being returned to a client app through the API's serializer. Additionally it supports adding permissions to the default and custom list actions to restrict the data they retrive per user. +## Django Rest Framework Roles + +The [Django Rest Framework Roles][django-rest-framework-roles] package makes it easier to parameterize your API over multiple types of users. + [cite]: https://developer.apple.com/library/mac/#documentation/security/Conceptual/AuthenticationAndAuthorizationGuide/Authorization/Authorization.html [authentication]: authentication.md [throttling]: throttling.md @@ -275,3 +279,4 @@ The [DRY Rest Permissions][dry-rest-permissions] package provides the ability to [composed-permissions]: https://github.com/niwibe/djangorestframework-composed-permissions [rest-condition]: https://github.com/caxap/rest_condition [dry-rest-permissions]: https://github.com/Helioscene/dry-rest-permissions +[django-rest-framework-roles]: https://github.com/computer-lab/django-rest-framework-roles From 63342e81db53260ca4a0defc2b7ed00ed9be3698 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Fri, 19 Aug 2016 12:45:20 +0100 Subject: [PATCH 10/29] Version 3.4.5 (#4421) --- docs/topics/release-notes.md | 25 +++++++++++++++++++++++++ rest_framework/__init__.py | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md index 78a5a8ba9..24728a252 100644 --- a/docs/topics/release-notes.md +++ b/docs/topics/release-notes.md @@ -40,6 +40,18 @@ You can determine your currently installed version using `pip freeze`: ## 3.4.x series +### 3.4.5 + +**Date**: [19th August 2016][3.4.5-milestone] + +* Improve debug error handling. ([#4416][gh4416], [#4409][gh4409]) +* Allow custom CSRF_HEADER_NAME setting. ([#4415][gh4415], [#4410][gh4410]) +* Include .action attribute on viewsets when generating schemas. ([#4408][gh4408], [#4398][gh4398]) +* Do not include request.FILES items in request.POST. ([#4407][gh4407]) +* Fix rendering of checkbox multiple. ([#4403][gh4403]) +* Fix docstring of Field.get_default. ([#4404][gh4404]) +* Replace utf8 character with its ascii counterpart in README. ([#4412][gh4412]) + ### 3.4.4 **Date**: [12th August 2016][3.4.4-milestone] @@ -560,6 +572,7 @@ For older release notes, [please see the version 2.x documentation][old-release- [3.4.2-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.2+Release%22 [3.4.3-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.3+Release%22 [3.4.4-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.4+Release%22 +[3.4.5-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.5+Release%22 [gh2013]: https://github.com/tomchristie/django-rest-framework/issues/2013 @@ -1065,3 +1078,15 @@ For older release notes, [please see the version 2.x documentation][old-release- [gh4392]: https://github.com/tomchristie/django-rest-framework/issues/4392 [gh4393]: https://github.com/tomchristie/django-rest-framework/issues/4393 [gh4394]: https://github.com/tomchristie/django-rest-framework/issues/4394 + + +[gh4416]: https://github.com/tomchristie/django-rest-framework/issues/4416 +[gh4409]: https://github.com/tomchristie/django-rest-framework/issues/4409 +[gh4415]: https://github.com/tomchristie/django-rest-framework/issues/4415 +[gh4410]: https://github.com/tomchristie/django-rest-framework/issues/4410 +[gh4408]: https://github.com/tomchristie/django-rest-framework/issues/4408 +[gh4398]: https://github.com/tomchristie/django-rest-framework/issues/4398 +[gh4407]: https://github.com/tomchristie/django-rest-framework/issues/4407 +[gh4403]: https://github.com/tomchristie/django-rest-framework/issues/4403 +[gh4404]: https://github.com/tomchristie/django-rest-framework/issues/4404 +[gh4412]: https://github.com/tomchristie/django-rest-framework/issues/4412 diff --git a/rest_framework/__init__.py b/rest_framework/__init__.py index 999c5de31..3f8736c25 100644 --- a/rest_framework/__init__.py +++ b/rest_framework/__init__.py @@ -8,7 +8,7 @@ ______ _____ _____ _____ __ """ __title__ = 'Django REST framework' -__version__ = '3.4.4' +__version__ = '3.4.5' __author__ = 'Tom Christie' __license__ = 'BSD 2-Clause' __copyright__ = 'Copyright 2011-2016 Tom Christie' From a335309b33e5e99a968d36a0a778e0872adab3a8 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Fri, 19 Aug 2016 14:37:27 +0100 Subject: [PATCH 11/29] Add __str__ method to PKOnlyObject (#4423) --- rest_framework/relations.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rest_framework/relations.py b/rest_framework/relations.py index 4b6b3bea4..65c4c0318 100644 --- a/rest_framework/relations.py +++ b/rest_framework/relations.py @@ -10,7 +10,7 @@ from django.core.urlresolvers import ( from django.db.models import Manager from django.db.models.query import QuerySet from django.utils import six -from django.utils.encoding import smart_text +from django.utils.encoding import python_2_unicode_compatible, smart_text from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ @@ -47,6 +47,7 @@ class Hyperlink(six.text_type): is_hyperlink = True +@python_2_unicode_compatible class PKOnlyObject(object): """ This is a mock object, used for when we only need the pk of the object @@ -56,6 +57,9 @@ class PKOnlyObject(object): def __init__(self, pk): self.pk = pk + def __str__(self): + return "%s" % self.pk + # We assume that 'validators' are intended for the child serializer, # rather than the parent serializer. From d540f0262b4b0a5f8ce628334d1a812179556002 Mon Sep 17 00:00:00 2001 From: orf Date: Fri, 19 Aug 2016 14:42:13 +0100 Subject: [PATCH 12/29] Improve Create to show the original exception traceback (#3508) --- rest_framework/serializers.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 41412af8a..4d1ed63ae 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -12,6 +12,7 @@ response content is handled by parsers and renderers. """ from __future__ import unicode_literals +import traceback import warnings from django.db import models @@ -870,19 +871,20 @@ class ModelSerializer(Serializer): try: instance = ModelClass.objects.create(**validated_data) - except TypeError as exc: + except TypeError: + tb = traceback.format_exc() msg = ( 'Got a `TypeError` when calling `%s.objects.create()`. ' 'This may be because you have a writable field on the ' 'serializer class that is not a valid argument to ' '`%s.objects.create()`. You may need to make the field ' 'read-only, or override the %s.create() method to handle ' - 'this correctly.\nOriginal exception text was: %s.' % + 'this correctly.\nOriginal exception was:\n %s' % ( ModelClass.__name__, ModelClass.__name__, self.__class__.__name__, - exc + tb ) ) raise TypeError(msg) From d0ed482d7094e94b8cbfdc6c0f8335e02d79b765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Padilla?= Date: Mon, 22 Aug 2016 11:53:53 -0400 Subject: [PATCH 13/29] Skip HiddenField from Schema fields (#4429) --- rest_framework/schemas.py | 3 ++- tests/test_schemas.py | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/rest_framework/schemas.py b/rest_framework/schemas.py index c9834c64d..1b899450f 100644 --- a/rest_framework/schemas.py +++ b/rest_framework/schemas.py @@ -296,8 +296,9 @@ class SchemaGenerator(object): fields = [] for field in serializer.fields.values(): - if field.read_only: + if field.read_only or isinstance(field, serializers.HiddenField): continue + required = field.required and method != 'PATCH' description = force_text(field.help_text) if field.help_text else '' field = coreapi.Field( diff --git a/tests/test_schemas.py b/tests/test_schemas.py index c866e09be..197e62eb0 100644 --- a/tests/test_schemas.py +++ b/tests/test_schemas.py @@ -26,6 +26,8 @@ class ExamplePagination(pagination.PageNumberPagination): class ExampleSerializer(serializers.Serializer): a = serializers.CharField(required=True, help_text='A field description') b = serializers.CharField(required=False) + read_only = serializers.CharField(read_only=True) + hidden = serializers.HiddenField(default='hello') class AnotherSerializer(serializers.Serializer): From 97806f9724fc315518c881a439a5aa82a46c0e34 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Tue, 23 Aug 2016 09:46:03 +0100 Subject: [PATCH 14/29] Add missing comma --- rest_framework/templates/rest_framework/base.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/templates/rest_framework/base.html b/rest_framework/templates/rest_framework/base.html index 989a086ea..7f5170a62 100644 --- a/rest_framework/templates/rest_framework/base.html +++ b/rest_framework/templates/rest_framework/base.html @@ -263,7 +263,7 @@ {% block script %} From f064ec6ac612e5a24d8a7cd21c06c4b8243e549c Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Tue, 23 Aug 2016 16:59:47 +0100 Subject: [PATCH 15/29] Version 3.4.6 (#4436) --- docs/topics/release-notes.md | 19 +++++++++++++++++++ rest_framework/__init__.py | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md index 24728a252..63aa4e4a3 100644 --- a/docs/topics/release-notes.md +++ b/docs/topics/release-notes.md @@ -40,6 +40,15 @@ You can determine your currently installed version using `pip freeze`: ## 3.4.x series +### 3.4.6 + +**Date**: [23rd August 2016][3.4.6-milestone] + +* Fix malformed Javascript in browsable API. ([#4435][gh4435]) +* Skip HiddenField from Schema fields. ([#4425][gh4425], [#4429][gh4429]) +* Improve Create to show the original exception traceback. ([#3508][gh3508]) +* Fix `AdminRenderer` display of PK only related fields. ([#4419][gh4419], [#4423][gh4423]) + ### 3.4.5 **Date**: [19th August 2016][3.4.5-milestone] @@ -573,6 +582,7 @@ For older release notes, [please see the version 2.x documentation][old-release- [3.4.3-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.3+Release%22 [3.4.4-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.4+Release%22 [3.4.5-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.5+Release%22 +[3.4.6-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.6+Release%22 [gh2013]: https://github.com/tomchristie/django-rest-framework/issues/2013 @@ -1090,3 +1100,12 @@ For older release notes, [please see the version 2.x documentation][old-release- [gh4403]: https://github.com/tomchristie/django-rest-framework/issues/4403 [gh4404]: https://github.com/tomchristie/django-rest-framework/issues/4404 [gh4412]: https://github.com/tomchristie/django-rest-framework/issues/4412 + + + +[gh4435]: https://github.com/tomchristie/django-rest-framework/issues/4435 +[gh4425]: https://github.com/tomchristie/django-rest-framework/issues/4425 +[gh4429]: https://github.com/tomchristie/django-rest-framework/issues/4429 +[gh3508]: https://github.com/tomchristie/django-rest-framework/issues/3508 +[gh4419]: https://github.com/tomchristie/django-rest-framework/issues/4419 +[gh4423]: https://github.com/tomchristie/django-rest-framework/issues/4423 diff --git a/rest_framework/__init__.py b/rest_framework/__init__.py index 3f8736c25..d99d82d23 100644 --- a/rest_framework/__init__.py +++ b/rest_framework/__init__.py @@ -8,7 +8,7 @@ ______ _____ _____ _____ __ """ __title__ = 'Django REST framework' -__version__ = '3.4.5' +__version__ = '3.4.6' __author__ = 'Tom Christie' __license__ = 'BSD 2-Clause' __copyright__ = 'Copyright 2011-2016 Tom Christie' From f7b4511715e7607898f7c33b1a047830ced53621 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 25 Aug 2016 22:27:51 +0100 Subject: [PATCH 16/29] Update sponsor info [ci skip] --- README.md | 3 ++- docs/img/premium/machinalis-readme.png | Bin 0 -> 14046 bytes docs/img/premium/rover-readme.png | Bin 53118 -> 55611 bytes docs/img/premium/sentry-readme.png | Bin 24584 -> 26353 bytes docs/index.md | 3 ++- 5 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 docs/img/premium/machinalis-readme.png diff --git a/README.md b/README.md index e1e252609..155f8dead 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,10 @@ The initial aim is to provide a single full-time position on REST framework. +

-*Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Rover](http://jobs.rover.com/), [Sentry](https://getsentry.com/welcome/), and [Stream](https://getstream.io/?utm_source=drf&utm_medium=banner&utm_campaign=drf).* +*Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Rover](http://jobs.rover.com/), [Sentry](https://getsentry.com/welcome/), [Stream](https://getstream.io/?utm_source=drf&utm_medium=banner&utm_campaign=drf), and [Machinalis](http://www.machinalis.com/#services).* --- diff --git a/docs/img/premium/machinalis-readme.png b/docs/img/premium/machinalis-readme.png new file mode 100644 index 0000000000000000000000000000000000000000..4bdb020c2ecee7861668bb45e42f8eec304781f7 GIT binary patch literal 14046 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

NTNf*vcVfW!(%=RlAQUg4ZrnpA|@r6HzT;gIj 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 delta 52460 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 delta 23701 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

    ws5>pL*6_G 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 diff --git a/docs/index.md b/docs/index.md index 88276e678..3019467ed 100644 --- a/docs/index.md +++ b/docs/index.md @@ -74,10 +74,11 @@ The initial aim is to provide a single full-time position on REST framework.
  1. Rover.com
  2. Sentry
  3. Stream
  4. +
  5. Machinalis
  6. -*Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Rover](http://jobs.rover.com/), [Sentry](https://getsentry.com/welcome/), and [Stream](https://getstream.io/?utm_source=drf&utm_medium=banner&utm_campaign=drf).* +*Many thanks to all our [wonderful sponsors][sponsors], and in particular to our premium backers, [Rover](http://jobs.rover.com/), [Sentry](https://getsentry.com/welcome/), [Stream](https://getstream.io/?utm_source=drf&utm_medium=banner&utm_campaign=drf), and [Machinalis](http://www.machinalis.com/#services).* --- From b683cd7afc9e03ac5287172348346ff2e61cc348 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 25 Aug 2016 22:29:38 +0100 Subject: [PATCH 17/29] Update sponsor info [ci skip] --- docs/img/premium/stream-readme.png | Bin 19341 -> 20667 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/img/premium/stream-readme.png b/docs/img/premium/stream-readme.png index a04009d7fc0d1fe4fab5aa77215a94d5150d6354..955c11429c53bd18cbfbf888dca7663e134264eb 100644 GIT binary patch literal 20667 zcmeEuWmKHYvM4gRyTf21!3THOU;IwTEQx#a&!GBG%Fvw{{`(&&;N>MY4P7uxp=xc{3Vm61(%hBm7|rD zhdUe(^dHH=b^G6l{}+=!W-fmd`%8&`%O>`Ra}iA|cV`FBKPu36vh$GO5&KJ^e{cRD zjr@%z>+I;_X65b( z4zKs02>i409|(U`FY?OH$I3xh&JM27zog*f6%yn6k3Ij6DeLUu?55>nW?}V*v%gUO z(e&@of6>wVA38jI!vCc6kDh;ET3U#>dzyo-EIj@(U+`J`%lc)^Y`Ff>EXMU8p~c{~ zAfo1MX=m*#XXarg!NUy_5aAXQ;o%4J@cen;77*k5H<*8L@TW)C&C1Nf+3k(9vxCH6 zVmSVJ1@dyjXZ+v$|Ai{X^~aC?;a7h#M*&OB^j+-z9qH3J@Qu3WiV zG%%h+wdWXqUnZwa%p6Os9D}I}#J~qiF)4DAS-FDZHGJJfbz;_)V+bN8uSjc|LpW~N}iWVTtNTH)6 z(gOiQ+j;cV;k!QZ1nl0u?6=!j?t{(z!~@+e64yzNUZt;9n7Gn$kH5<`7}s)yYF zC;UgX|6kSr?;02SC)c$ZPkQckg6MGYS57c#(yXpprXK5*wc2Os9O9a<=PUI0FW~0P zlP%=wzs`ssH$C5SMh{!>N~_2rsCzZwu#{XYUMFltg-SE~X8 zvGCUQw)R_~pSGf=dwx0}g9BbwSxxh<0tYJ6d$=c0)W99rk5r@X?KXP2y?tJO#9=Di zX1&kLZ_<|57V{EqVoq!};WP|i-RAiM=qC#QKohI;za2#nKW(?W`>hYr&#uU!sLROc zTAc41B!B_<8g7YX6=ePzoEIG+sR>nuf#uQPpdf7(pLNSXW3*kHv7Yt4N|vhwEA&)8 zJNWuy(g8MR$+4tQ;$jDp$Bb?$b7fG!GkypCo`$Ng&wz|zT=X_=ISm6tb_I9oPgm?skvZJk0MWBb>$gv4=O{DJLQ}J)<+aUa3 zvctawzUPxZ8_C(vUL-)8iILiS!YU_XNzg~XVR)6)aR4JIg(4`~=?2a{i6-Npm{8Z? zam6gG3k{53gGHXhwF*M_cnCHJRUA;$zv@KqAqWW^AARlb;yXea1-$!_$%C}Gh^(^d zwZ=ifqNOaDIW-<3HNyZjFJJsT*U=n?FdF4O;&ctp68W+l@U0IIZ=wI=i@pj`_rf(y zM1ss?MEX|@NZ1|5kqCzx9TmaHH(f=uu{{h;If((|77=nFr-+G3Z<#!I_{y4XQN$bG z;Rzsj?z>OQl|g`}AR*4*OA}%w;bjfZ52`F2v`e}($64svA2WUUXue!2TOufvX9>q- zmMx)s!v-gl^VSlJeu4nLZ77OeDx+`FOUc+p&j>Zqh+=i@JT7oT7Vzc- zMT_muDVx1a`>W$+ot$aLJm$kLa!&dhE7D2o{4S-pcI1_EBj7tigm>G;_#6TKD{XX$ zlCF+p?`3pgSt`Pz0A!Kg)*`8O)xqAoRJ7Ob;gN6P3q_Hhvta&vHAqu3$jPL&8TWI8 z{?V29Pxb1b>h~HVt@Y~oNFU-u`08Kg7$sCJp-&*YO>TXAIBPy|ApbS;E?mz2T(exf zz6}Lt^J18EP>kzDeIaSKZr<#$JDEJp5~&NJ%}*zLg$Dy8b&@3pzCw4R1D-T+9uwLK zkhDWX4iIli@P|e~g0T^IIFB+~- zWYt`2dd}{BUnoN)GelSci*V!KgR>}sKH+LHo2C!@MRPSVUm#(#EabsIX|3V-axwL0 z6Q&s0J1lj8( zS43PV%AtEihD2BJhF`YU;3rTLf9Ludvk;~

    pjlIcQ4o>(`XbcjU>*qQ2?ZI)oLo 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 literal 19341 zcmeFZgO}vXvMAiPZM%Egwx(@NyQgj2wr!i!wlQr@+qPNlnOA$CbMM{XS@*5)A9%G^ zRb@s-WFRB+mzfb&kxB}Zh;VptARr)!(o*6oARwR=!15~$6!0^SQK}O71z|2CF9HJ6 z5D))h2nnpiI!I|bgMh%J|Mdn1$;!b2;!s$sX}W02%kdi9+cFxO*c+KLde}Muu|Yui zJ$QjdTT>T95)WG&J7-=G0kXd_c!A}=z)WN$f1|iq3y^8bE0KuVJDHMjFtRf;lL^9+ zkdW{@nV9jah)evN99R<|vv6^7;ALWRcXwxWXJfQ?GG}7p;o)IoW@Tb!{Q|`J;_PYX zV(9V3&YApQo%~ln;-=2VPL>WXmiBfefAwoUNecf~@?1EA*e>|FOuwsKo4T z9h^*^oq=S69RDWyC+t7*HUEc=AlHBK_$Tl`2^5_yftnirC6^$}zZv`!_MiA#{~LpU z0{=nqm+5(xEImwZG{r4}2K`$LRvw^O|7**CQi|Ez*gL5@7#f@YCE4F3{{a0b_TPN8 z{=tWx=bwE3(ee*U6JuUyS0gJ^W0!x77jV@6_I^=AbEbcQ`I-J#Y<{3G@XFhpSeki? z8@iYZvNE%9@-lPrvapf-tH8;|&-5QS|B&FX7BMGNLl=7|HG6v-!N1k8{i{mC#t0no z|7`y^DL>O+^XMP*>R*%gZzyoq3c>*?|7!&hgsZvu0}cWr3?eNqqUHg5EIp?0kbsuF|@MBo>HzKS9o`APM*$L>RV`rrxSFDu65j8B9j%wV>>T28g7Lq9jTOSEF4Cq&^G| zKvNN{IO72#DPcgQBt(H#f2;a`EdHON{{KDdw~xZSGX^Lb%B{K-1q~X~H>s~pQeadPB{U~ zD3AdI@rl`JV8#EIsEPDY!>gZ_6w{f2(6_ugp-J{tyD)r=_nqD z?Ve_zkFT^fYhwZK+744ZQ`A^gr3h?bdovAK$6pf#Ufa~KrmqnUEm5(zm7Bp?(i?sS z-Rk51bg-U*=!Og8+j0Hb)ky$wA|M&0J`@VZq&NoCiAbPo@siSDVrG`+uN8yc<4~01 zlKY5~Efm3+1P44DGiEnEWi$#0_^{U0DH7?RrRfw#y*5&0P#%D*;Kxhp)#wBA<)y1C z8FuHhFG0ZQNL@j?ow!qj=KA$h?@x>BeJmx$aGINX?9o&lSp?^6QEC%sJx8xhfj$mD+~y&zggX+{JxzRPjkrvNG{jX>hgGjrs$KB%A_MD) zug{AJ+D@hiQ-3?ZEN8C@sTJBXcXkD)woTprJ8K2(jF6I zD6E+qmYRG;BK-mu8N##dJii}kDvCFI1UK;)3s@w#cP#DC!L%zlxFHeos87c;s(*POda+?2$5v>T$E)dIB~MlB&QL_pXh4i#s?FfWgZts zN~W5~@rfQsQb$ir?-&*P5Uh%mY52e~if6BnHMS?B6=)1&JVH%D#f0#piB;k^ zq&Bz9{VRPPL7LGk!fK1{5Si-F&7Wf!x0Mwmf6NH+2J zs*BRa``Njsv(qRN=+f?V(89sON;j~jtZO!PH?T0)?Zw|Xf1#-VZXY*9j-4F+lqqfb ztG(c38_^IKd^TGVyXOebHJ%%2WJwoe0M|gIpcTkHp5guuI}aP~PrU4-Tw6zS!rZ!P zIjT%;2TXCmdRYc(>$-=TN|&`6&acfWBqh+U)V zH2R2HzmKOBPm!Vf1VPMu6pfo%By)mU*!D}I?bL+yWsb3i=-1>#*Tg1`>_gKE-y4z8 z=-^XUOtg6o0~6x8=#rGPvFiu?QIt`%QH;?vjuGx-udy#!C2Wh6P&hoAUV$N2DA8=b znx!EInmtj}ub3Z8ob2%Vw}=_y>{Ihk(|u-Bzc701{Uwc=gt!h6%j=&yNCcJ!WVjok zN$P$HX!gvSl4i0BvMyVE={A`i0yLedg&7nPn9nD|%ir&>L!Cil|EX0Kld`|?Q)RdD ze;A3-1q0mJ$&Z;UIPUGJh+9^zlH^&Ln);F2P62jth@ycAR;X-L&cg+7ja zY8)`dfi@n9C+GC0BxzsItI%<+g-WFhkUD}OULGaeGr^CGX}(Bvwd+V5-8#&%CzJ>) zsR^`;?_1SKpT80U$g2;${jjksN8fpUc0llD&}U2&NMPwgS0uXkycIrDuDBiq{1lB$ zI1_)tsa3oogftJZlkIe~HA8+7rGVBjs;!@dPGJNqK7)@LvWltU%3~@H(EyH@41%idk7L@Ca`NE=V;T^r( z0ym5%(k|*M6+)}+MOrF@+5COP`L5@6ru)S41!>g76Pfmliqps0M0-y4^kuAzWRPdb;W%1cqKGVUiFCURDdcB6K3XOzQ}5`F z1_^4y@QYxWQa*-w14Sglq4+%+Z4s|@5H(Hi9oIwnGesvwT=}CJ69U&IdTj!qImA&U zC8^Ej811#bM{F)N4en2qp}j$%Z!KLR-cdECkawPkd>5tg9JPKYBca}l_1BiXw-21Wko{}ga@D? zEaT;z!{ZA2F6D7xI%T?QMA zhSyhIp*YSUZ^AElO~P7*!B%gTPlrO?u0fhe$eo;YB7%{BBa5NuyXwFUTS*25R*{lP z{*mX_nI$Ory4+ZwSpi+|ke(!`ZDdJ`g#tr~0;MS-!q8)YR}D6V8yQN6Mu{c&#{Q}l zB`wPwgT_=k$ntVNBHm>UB3n8A(?WI)9S!;gWi?Kw7J?=6Wrazszo=`jYr(qr*;u=X-|N9f zk%TRIVhLr|JVlz1<37%zCd0D|aF`<<_l?l_et6-qb^e0c^Oy-Avq1JX^_}wQ$6No7 z=|qUiY5)y)WknnWVjdGgnrwpe+SOxz81Y+h@4Mm`f?$H^BmHhfIMW~m>YscO!ZXdR zJ=9_Yn#D^>zqZ%$*f?uudRM$Eaun-qP#DfI^eKT*qh1?bMUDxZxEzc&!Tv%cwZeI*LJ=i?!&@u$vMj#6V%G51fw9Z75(%Nf< z8`u>O)?`mg4`L*E0LA^!$dr$dCa>4$wr5txU0rAiu-`9Dn)(CWrBEJSSy_9KLE}Ti ztZ#B;>c51itC^{CVBhjgjamO4_*7A*oFyAs?W* z_k@)fSKVQpg8w=`Fml<1#yFAL_gmz8rUOpK?Ai|IH-h?OH6}a=d6#}%s{_8XCkoY z5cOpQp=M8V%P7k0b(EuyTtU4q-^<`~&6!^_ZR|}+%h!evC&g`u+F;#sv1r%!TJu1O zC-+PH1Z1q%L+lTrhz`*BqF=7>SDM)17?06(WR?=&BE*SLq)?)RHG0_0v6+yncC8^d zXZJKv7FJ~;(omLQF*6HJ^?!_0Ke1w=8~VuG%_U%jJv~g4!+%Ct!|heB(Bxl9PmGYm z@;G;B0TxT;J~=OSdP@Ci17wrBrF6r(5wuE+18ZpvI>)E&GjJ(b{e(agkBfhq)q#jz zh<1;%kxX!LjUFDwHUvoo>#WcWU+`_9MPycqlbDNV&{ql!Qfd(h=CiLsoTHv6AbCn9 z!^9phn~zwtNTos;?{^tR>=m)YlTE6%dow+!;%|R9*;`Fu7{yX9hJJA-lQsX`B-tA! zUdD~g`YfW16}D^o5nen}zFg=me{ZkJc}INngA;Y;YK!%&XVeRTk~${UP&0~D1rkHmeq!PmO^=Fa0=9&&hUi*%Yw z5})Z1EYysW%s)gB&Pk$CKVtPb7Vr3x- zCJh`!SS?ffdN{cA;L*>VJ#a|sM=sq#Xq_uZ{?esmH0ao0Dy*$d4&3hJAwNXY_0MW> z7zC(KbhFGQ^20$BVH@}bu@in5e$!&-1i?>H412zl6+*E3aoP$e9fdmj;q79Ga}9t% zn2=ucs`=HvnQ0&4oolM|0+G*07hsBsT49~pmB^W-9>L*dW!jTC*VrSWL97A4|AA|i zQdN+*4N99(Ri#1dnc(8TzDnZ#3tItp@q*vaeo>#FJ0sXqaCvzPW@GLULBe%CgE1%| zPKTq!Z^b==5dutp;*6yRLYQ0(=HMz zR1!OMx6_`L)|qKhv=)h7_K$@&UKYzd6ITJT8R?KP2h2>ZgY6FF<3OaWwD@hg2_+Gl zHwh+BWJo5l=NEv$Xn+Q3L+v&)w$O-32V?x*;K*waS`s?yhPj{))4;(~omL1K^UP`B zt08%!4?=M1)qoAueVnoME0|}1l<0$`Sn1Gl#6lugh=}WF!Mv8Dub?TkXyY5JlkARQ ztao8)Y3-9zmxZb!(dGL|s3G@gAW!P2rZos^lv!vt~wT?=4PYhgle}OK&Y{rkQpe@BqjGS)jF># z%8tCs=QrK3rHY*--J@4nrIT1X%30n?2*Zx!<3GSt#tvzPfibI(CAWzm?RIE;EUs5c z5v;Oz`$42$t5&#h^ysK{I+Efd8gpIYE{*LNJ0j+HK9bzs3_wb`!bMu+P+=GM^uX0Q z!U32@@Ot8?ofNY{ZvqW6F?TPdtT>$l++)zL#CEiZ5^*BRpeRh*_Owh8Zq5_PzqBSDF~E28%$?2nKo zWaTo)Zj61#b5!pczE@PXS|<&?J2uhdqaGlbbb=FAUFE%Wq^4_4Ye4HsK1Q7xt|4VZ zKeJAbd`<;+L5|GWDqXw{v^L}Dcm6yGhT((B&|UQ{m^W=y)@&1QF=qP~C)CCZW!(N` zJL_!<_x(DI6%K8la6ybJ+|}D%IwqDK!h7>tHMS9oGneBw>DRZzvLw$X$@0P6h2XOI zp8G(Zllj8_TU6IOorvZ?RUwOl62~x6&j^q&C-Fx2T*%GDaQ%qL&;2Alm=wvjdmJ-E z!4I5C>wnxN$<@%>I}NRi__C7iL4v?Dla^G@a-LWx_`(djXqgM1;Ra-(13Zs?nt*Bn%~2^ z>Ugn?eoK$PIKn6~Xcd!n1Kuc`h9~nxDXv|S;8cnEXBg86Bc-#1I}Kh64GGoo=|C&y z-yuPoEKA{;vCxuotf}+n4Uc;vvodY7(^`mPW#D_`$8?(4DSegBj0JbHm82z53>K2M zKyg#Z49my|-j}f=Z%fI<+5N0AiNPK8wHJs2S@ex zgRF+k#C7_Zv!F z3Hj?-NcL73fR%BG2RhXTS&fy-TL-$109+oPv=As!IqwVJWzhM4n}i7fc+s?GY#MjS zmKOaz6Eon9h1C>t3qN7KAuz9*EO_Qu{i#QewL@FGKi3>TU{@sHBt6cb#} z%5}uAB`+E$U+anFP++$$md|X1&YkYj7R99GAKy|{3^gGHOvK(Jv~qmNmy?tsDM`8E z)s@%HaoRmFvN0Tlcw|DuXOHWWc} zQRLhx2T3()Zd*LHnH~gF#6T4%Pwm9>LMjNe54+JkoFqMZM8h6JH`V zrj@r0n^t1{=g--i^!J9`l+Krj3s}mM4+l0oT}EU>r;qT4gIdhh(;CKfC6JSjHNRtV z-B9TcEC{v&_bC$)O$0vpt@+J{v{#=?Izn3}E=Ab!Mrl$h8Cn!ouuKp%r%N(~ev)!t z3Of3btmMj13Oq)uQZ=q0Whz)A6FR&D$kND}WVYw!>fw5n#U+xMZX9Z>4>7oONXVJ8 zCqO^4_nx{eDq{4jUUBkQ7o8w%vNl)J^Jt}{@BaY$(mgC>yIUf`wu6z=-Z6f}f+x20 z%m`WN2rEu|2SF$3aQCRb@h!$v$H2oT=a0!M((w&hHu#jVIo(P}@qU{3Z3BBY5!2(dp#470O zyj1+;w5wOFzKQM@JY&&@P^0ydIEbh0A;kRYqP+ShBmn~%z%4H=g&^L#WdTv}Z73ww z%mm*B8D-2PYaCW8!aRz=w-g9?+4#&GDs1dOLJL3R!$le>C#Sw#|Lz0cSJxw3x*H0U zYdD#s!`+sQ!zr0}3lVm^d@FYbQ%!nDxVZQxR*SEOn2Iz!+&_7z`D2jK_&tcBofH%v zaj&@kE!W?Dwk(#eCoPUM>p<#kK+2)a-!>knB1!qYP-f(akxk+SVNHG@EJtlAC)Bf! ziNy?t?!b@XprG7}BVw$#aobaYMF<(f)2t~<2nzXBcFe8=_hK6dy|mOAxFoqE2sv{e z=x1OCbVS?BI;!t=Rf0HQN zZ#fO>2*-II7Ls7M7uCi{8fL6;F*oSioA5F>Y!6=R#D@=|Cbh)HZkdt93Ko%SGOCPP z=Aqyy^E+B+vE#45Q$m9}=Z+cdpsa2>r(dL}93909-O&4~n3_b2$z&f<9o;9q+eWAi zS>XXd-gE!bBsy*camnugyR>2xBG|EP&?7Tnc=!)xnukjZR~R@6gtXbZQoduIVpw!; z9wVb}Y-f#8xs21bl?-4o86(&?+>L~2(g}`5ajHvAIq*h#)*vB4X9~r*BaX}|t5V%9 zc#~74lRIM8(Pw7~Jp9TRYs;psZR>h5hpDEkCqk2-Xg*jWWVn|EmzBBEK!-k znb)|kzL=DWKVMe0ujw{#jzxTG)f9!O37fv{f#6@1jEYbPC4-efB+QK3(9Sfjqg2PA4VTuP`JF4-N1s`%}Q2`{NgLEssn zd)iA9_&3BvYfsN7{Svu6z_L5KqBGIqRl$Z0*6-wM8$QB?c<+f_0XMg3pU#u=V3^(O zs0ns$m{Fl1UyohIewd@aGX3@f!lH9yaFU?X9Uu4TNt;uRrV{8Ks50=C;ftrEJb^w# zJ`0SuUXXqT(=>u%5@#0XZ~al%pU){MIHrQAuU(eZSqR`9Vvs+yx|=L9F8X=cvos8) z;hTt+qS63)pV}x0{84L+f}2hux^_vAfH7d{|=E#po$z@dPK*@Wd839RZz|_tpM4`2(o; z2JU6*Nh(ooFeOi{*>EXCF$#9IL~xT(jWMB#UCH}dV9rQM zLK~0t*D+A)1F2+Pf;2*Js~`hhf^)?exZe1Tb%)L&9m|?m1f}f*!+UB3y0Pz_M4*v% zq;*drcxB~JNRS4-<`UA*EpOSH<2$&8ASIbJC8RP!6oovi9s&9sjFb(M4m!6=0)|S5 zf~z4FM%Q89LU0_H+iQi^A;YUBZHbfFw8B)un`LA$PGAUoo3P9K9B2e=D7W^gMk#TI zslO$}4V^WRlh8|P%C1ghXcfUa-4*5xZql4LI^BDJjABUv7lKTZg&B+N&-J56V2~rC zXBt}2*tw#U<(Ao)2Bcf#c{X;8v}R#F23EUfP@XFMshAxCEC@p!8BaQx(VHtZh7Pmo zi#ChcV@e`>yU-_C``DE}l^F?l%ruRLk-+B3J6(Mmqv3g*QT9l{$EA)?;)~Ss<92Qj z8pxW6mFQ;|i9lk3fzG=%BzQEWJ4Q<|Y!RpwmG%k2 zmc9-6gH5<-%{>^NG^^kU11yR~*Vs&ESw4|;uy_X8DRD5Ef7EPJ4Er$A`(aL@N z^fd1cB8Q`0PUc`$CSnE!W$dCFJ$jVRP>hX;DPa{!%q`)G5zMd1qOP545C>iaS*Icu z-XA(0;ls(yXbU;YXEg~a-!36U_HzW#!W=5TH7jb-5tedzon;6M5vRsQM@O#oqjXLjob;K8z)^qovbR8-IXl$YJx|Fom_LdfE;QiZTWKX6o z4TykXlO*KPfTz3}Jz<*?NEJ7#*LXn?F1TwnJ3Cf>=Fwd3qH$eou+-Inv`x%t0&B*3 zu#StnIw{Y5g8!-RAkNSz8716!WC$vlQ%yybh za`m~rdLiH$2CYu7)YwLq*N5Z^v$@*E<&F(6I|FS)&UC1-y&Fu7vy{7qz*MyA78rcQ zBwC2!z$0f812s@I5`V;z0?`k}rRgw+S&c(T??wQB0yS2l6SzZjXjazO#25P(K%<7{jyV}$#{-(*-GOZs zn8fO-xh{KLnM9gQ9vN*tGLOy@YGOXl82OtKBV{z*G)tUiWtZi%JI1ruT4 zwM&Pd>oJu}+4MWnr7u6STjfzz>ju?7nCk3>1FAY-dYI_|&oWX!C02|5fQIiQ2W@L3 zR=iHA?)<5`PzWN&gYUpGIKMl=FK5XIhgCP91}4f2S*Hd%wp_m{GQ_8)kDZ1Kh+MY+oegO-T1`ja}*fFUQP??e97&1**6CcF~o*nr3;O4ayJBR zWa5021Q|D#n4?!n#!A+R!Fnh|WQ0D?B+NzH6^q!D=jZU28l5c~bdPV$o#SL??g}Jp zjvD;Xli4BpI;ayKPr;pbKXvS$?vzd_g-2THSY)nF%jOlplVXK_QK8LlW$tEO5|}yV z8x!Rgf(dsUy@VK{`y+&Og>SN?2^AC5APDZbMZw-w9NXVK9k1Dw`%?E?q2Z@pjjge+ zvId6nEfg&pesoNuWw_%VaJPQ=gYmZw3jH<<&|X8F)mgZ3{ka<7i3!r}8KZ@d#_Z_6 zqU!Jva#H?Il`(va+bCQ2c`Ti;N4PQw3v6pxJCRgcf$M?R3!6MwB!XFmu!|>uyeJ|Q zZexAM_a>}9#QjoR>WsPy0S=hFKp(l?S+KFojW#j-Q5K?xL%^p7zx5cCx#z~Kt65d* zjKb{=S^ZL2MF@I)zJEh7wb2!Yrs56bI)CG0UpH#k&?kXb{{|6+)q;TuS~YQFrqYuyOek$sJ_{=Zny?P*s$Zhv9Q9M_Nsl0P92Ll52_;n; z(;I9I>9KM->1i<`PxZ!bhOg>yIYnHxWY7M3TJ!oEYKuM@@{vX7>#vaz-;BWdFqm2_ z=ECr8%F-HmK=EDw5apaK7ZMxfu-Ta2Rr^vJDtz`5BMYC-Xp6Wo@?%gUHm3DBs|9qE zhco-Mm(kYM@_UZN#e-DGAcTwVMmg+?OjBP#+oP=6gCf)(be=)jJGfcY&QkImcVWOInX1f+AQ+!A>;h>5>a>YUCjdlbJG-~)wT zMC6suu7F8_2PV-S%`bT6M+tKY16>5)C5clRl?EG_r7}@k{v?PQX!lnZ5!We&Z4sFg z<6nl8RlM+}1KR=tc4#*zy)OQ@D57-fdCTu=5S^gF4z~)Dn#j-PcPyVh;f5{C5!i!;s~(k<*Soiiw%6{bY9=oh6J0wmXa0;&T<2q$r$0^hXq0B;g3-@z z=(0C&CG)MNbFu8BBWAWpi+++vvmeeFZy;=@M=ELp-(Jyvoc+nW3C}#;kTuiyO7^{> z1~wAieGw#o3il`(n6{##s%J?>3_YnX*S(-IefpvnPo|YvaRNWv*y+0JeeUE=>`e_U zIbe$LDt+(M2kmD`Az@51l5RjNhvB6CqALTfPCUoNFL?PR8V4zLW)jwp5$G5Pp`m&$ zDwu#mbQ|KfK0659+)CRdLP^wFSBgkP5>+!MK6qrnUXmj>a`Lu*+;^*_Eov1N=$u+s z_muBpfNG4Y)o(mbz0z)Za{66$+lg>mg0v)D@<>H>pJ*cQ?S&3#SKKl0J03KQ)yNb_ z44lu8>v`F>S;%r4a`2O13@RD1I<_mSGyf0H3D-q)=J3FN0X_CHLdO^E6e0P zd^^%ewkHL7tcy(FGtpCc$b;vxOOz351HiYDMfchdhog;^bS+^fz#mlZUwcD7%)CXB z@@!@0MC6w7sX`9%xx^77an2ynAWJFQg2KBQ2(XhJgITHwkNVe2KI)z?j)1r6mDcPq z5AXC|ExhLttt$!~E0ZVQ_`kN{GBs6c()NY?TE<=x z>2|=t+Z{y)jHjE0m<+6fM9fk9vcP&W&B#0RDC3b}ZZe}Px+M&jk;g_N&fxgj8slL|1tV4#013!w{p|XNAUV}yJMQmvNCuPSrezK|Bc-}-+i`(#Bg5HDxN{=%%xeu92D_?5kfM@)NqF_?i zSbcBpTIl>i>dixEIr~xW|22L`>bCY$`OUwylhl|NFXGW%#2h6DrExR#WhOX{KQU zK5RiFBJ5hc`FpX228Iew11{)%4&vD*p@G=EV7PRSVkY?6-tP{>Oz0$Bxbc|b+{#-K zW|X9}eyha7IYskW7`(<$14+>`u_`>Fu^p%`KXpsmNqu|&$1SA<@i9((C=qRaK^~Ct zc35$=z-D}QmBdf}3jt#OkLo~nK8U2{&0nCechIg*NSevr*zw3??rC35s9<8-J22x& z<9?pkD~9cDhl{QI*~#~Gw~`vdEMMj1z2w%yd+lH8^_4$TR3#8^VkPpCur9o(+U|9H zGF!Y0D-dtOqeBMYl;^X%Oe{>w+fYlZG``Q*P>gXfB!@xhQj(o~>P2!)VpF5lj-@0U z{9G*XIVr19)}nPhQt@DibvnNdKnPJ=;?t$Avxyl$n_Np)f$ZF$u@v!iQHD6z>UW+u zv(jK{1y#9mPnVn)GvQTpkomTTVa(=2fCGZ-XX~gbJRRon+R-Dbg1fy!?LNJ$MfT^R zhZh%;_6C~1h!yeWmNZ>{&(Wv-v+GD*sVVy?ST9zoYrw`-X(B9vCQiuH87E1Z;v(?; z(jSRi1_F6D+$!wuE?E&@Ti)*EF7!o?)dkB>^64DeE^=bm>iaj7Vcs9?2?;-{>3oY* zM{a))Cq*CxhwQq2Icez;RQ*~KaythmXB6;I{d89&6`3K}NJ4=uazwy4$FwHrQ^#5V zIaH|s`FlP>yr4Cyy@?i+$l3R@Kv+WhSGAq~vs*>4BqN3CSx5otn$7r_KK1DOvxr%j z!4$t+@7e;VsZe=W9}~Rj{^0UY^pE@gO$!OuqK21d78%Y-;nh@&1ON{O6q1)hcimL% z7yw<`c=Rkv1SPCC)GAD;5c*QoSB7!WA-6v{m9ud`Nn}P}e!Q2>@`5dPS2hrKDY4L_ z$~#pe$DfF96_URalFc3D{5)K!N_Ixn25Oi0c?u~wCM))?Tfq3404If5ABO`iFncR{ z#Ud=j0}gFPdUb{|Sj}<;FKV0@f$rJ$3E*XI#qZGJ7jmGtp~C{5z;G3+0=FR?{6fMH z6A}D?bK${=__n@Z@i@SukW^}Wk8@6ny1Xk`C7h>kim*5neiC~0$8XiZCQE8iEa^_Qj)h#S_JFbrsbEy98Sgi^lG#YhD;?h?72!Bb%S zhZ}Ua#cc(pwjCP;8QyZ8s9i2zQfYnc+_njmxCe|{8y_ht0oacVWUm7@tn;a!dfZ>T z7ZMUK)%HP#&u#UvSG=icUPXA0ih?d6u%3tgGQ*ybhPud}>tI*5lg|RMjz@VABT~8w zdX`~(g0?3Y(9nYd^<7&boO8Z63<^ykSHbrEr=O&6r~B%0O=gdXqnV0C;hns=ZcNkz z4a;>?u;X>if|DXL=XW8)feKG%oHmRzqO&7;$+7pv?iYt3-E8T2KQ;uUc)buzCB7$`)NMzydHn8p(om8x%7 z0Wt{Aeiy%hNyMa#8}U>}1e@qCP=ilGvD`G$g8g}6H^r5k4>mtYf zq|y-z>*op%eRt)0Z1|HBZnm@`Mu6 z%wS1vEAYP!*-4B28IP|26NupLWXY%FwYtT6Y>vh+>4U}tzZ6++0KM)6Vdo-w3o|Nc z9E1~n|5%lgX~4d|EMmIq-Kq@OkL&?w5x^D}N0@szQ7q0ZS>|{t!AFXp+!5N|cspOG zr%ay(P#tQuyXA(8i)uKxmSTmS?_9@>&k99PMn+2?#JT59lFBW`u9R-%JIZh=!if;N z645roKfg~dA>PxDojM8R@72N!J^00wFh-YrMJq>)GQ*X+QJjD$Defspo!>o8qZpY|-o0H;GsER#W_+HG#u=aX>wWrtWee+x?e7D_6NdLz zv&KL5`{=+79a)kgcX&dRJx>v~fjWJ;xB_~c7W%}XLc=bUq8YJdpMw0ofgr@2Mf%Sy zG|nAP2fNzx{uhC7u6I<%in~5M@zSG0)wi9IDU&gypz`gEdV?_=mUZ0FWuG2s=V3#z zp63S{q%iOH`Zu^1o-4q>5d9H@+Jj#YB_r{*T*jE)$qit(+dS#l=q<>vCUyjWg}P-3 zei)p^c2Fyg;;V0GYX=b7VLLgY=X3NI==VfprwC(Xw3s~cC+11_=HB~MkNeUd@RkTO zr5?B~TBADs!6gS2xbw~cyZEY0X_z?xCvOSn0d3*t9&}f_cLiYHh9u&@V`FU zhwT_gZ#_KBtLCK$Goj2zl5K^Ef^ARMX7LYU^qXkaHb#c@ofjx-1{^TfW44D&ieiJG zQ*ArIRE(4kWu$y&RANyAw3N1RkWH8Dh^cdu< zrAv&yj<^Wvm*;_lL(Z|Br^9=m4bZ$w1-vw-LxT@9J+(rr!P5(dnrMF)q4>+2500)` zmp@(7QcEv>O7@*+s7@eB1?MaTvWA;d0nx6ssV)%2UIV=WdJd>+qFfr?8(SXIQg-uk z8?VdmDRZ0a3dw;R&&!@OD<08v7Zmx-6uQAWjHx{IOn0-klID?I+$+ZoH>ZYPo_d=e z6YU)O@5SnA^k05wszox}p6c)O>V@X)Fb#C~COC0g8=DOl=%pX}^ z^3S|Y4aj3IS$Z7bAUOG0h+u%mj%g&B8{&j)7#ZO`XPO0D&&25&Fgikjb>b{~uJvd( zDAE=ehwfoF2P0lveD%z^S@Np8*<#%Lny_*t*Vg1U;x3SvuquCP(0TIbqVD2o_8Oyu za9*j*Xbcw0z$-YT*N7pe5xKv#3!O!lNo4*lW+0&>hB-aj6OlJvOs{YMDBGF2*&!B> z4Q~!>kKv;XE&)SU&$Q>v;*cuxz9*U`+t#RCMRJkjq8Avc>+XSZywLRh@&#fdC;^5C zHo)%c&u_Qf8ljZ_!Jjm0k$`-joW3(y%K1JGB^;q9*baLfsD2F6*EE~WwX3CEcxsg( zN9U(D_gK-7nNz#p4b1UM?Y1#=WCPihP~3bni``H|ESvo5AM&!6M9gQ>kILgSNixnw^sdhB5yy@Rp>q>8Au>%{)DcnLc z(_Ti^Hy#mw^}66#|IiOT93Hkz4u3IWR4LyMI5a2UEpnsx0gDeyc?A9x=DvJZZ=CMi zk+wj)8xr8uy4>{;aataMs0JFBxgo1(j_qq5*@_irF|$EJUzn+Iv!6Q)`x7#T^-I{`c;3#AZ+m{>&gdB^_^Z66k)G^#_;}$9Nz=WHn`I6aIKu?Ibc>I}WUr=$(1$P@y+xAS*;JfXz%C|mu_jGQeJKc;?KF-Iip^_y_n-~m5r6k z8}Nnmzk4rXBEeIo7wrR3`Lab-3MDVWO5mY1dEuYq>iMMrJ028m=XVUae)s(4!9sHx z{wN)xfZQ;aab=wKeiKV~67&F_M)uJ?!nbyO&;+@YJ%-Ed_meOaG_@bXL@|R~BG)3U zY*eQ!^8%fL|Gwv=q*c+p@`VGDLG98@}I*vx(-CnUZbzsd>fVd(ZRw&-jxLO@D+vrvJ)!_;if5Ju~^Y$wij|kB^gHdZ>Dz3iZ&DmY0kR z`mB}qnq&7wFTLk$vZo{1Q5zm(y?omE#~%4vWPLSdeAff^q9B9b(_;tDnBWKr%jdjP zpi-JDM=i$KiN2Y~aidU+T<6b3CzZj6NH35mIAdOveW*%LUZmoKy}!t=Tr#C1^+y!lMyFkWqipc-sPh95S5SV_M%?X%(rSeRt|e=5 znm|Jugxx9D+i*%akhEyugCS~t_Lc?Ct)ImUPSDZBgA@T2rj$^BSg}jdlT&QxfN2VN%!uAug8vlB?0<*eQqm1|wch``QuoTlN-9gI9SZ@$|Ky4jTq#4Jwk zNL8hnoOV(N^1%C3)3TIKE*Fz{m$*1$QC*uyt$scDXf%+shD{r7)HkEf04u|XzHf3< zE;JeLEp#bET~ko&dOjgil**Y?tNy+B33aLQ9kwf^>wETavfrR{rzxYv)xg5rO@q=3 z{aD3Y)Hw(U)Wcu@1rX0M*E<~94%wwL6{a_=8XP|XtQx~P6>h9;A#Onpuk1Rb&Rz$PkZbV6A@j@}UDvzB=ig&2{RyU74qC)3 z*I~y*7#do~;TVpup|IDyGbgug|*Y(?8e2?vS=$}4;!%#g>SniU~ zx&QOyR!(LYH#wEet&|piF=ux}Y0Qz!e?oI^e1BB+MxpWhO_j*SyxG``k7)8tNt_kh(^p4B5YA@NW-yCuOP#d$lo|$uO%A{>- zD;~WS-W@*oSM77<0I?RA2+LYa%N-{^&pe-WBTc>WZfNt3M&*pKchyVf9|o6+fAX#G zx@%x}Xqx?)NEA3mbYddqxZnoXU7kd2cFB?d;22NR*l-9Q7b)~{J z$BP^0xVSu4_2GNA#*U|Sk(_W(<;0yqbA{FCA9D1!KI8Dl$x1d_U)SN>^T59ocktvU zEYxky-t#T_dw=YWqf;)ic_y*sc=pUI6Wew0dNYeeW$cMVWtUESG@J3h=ZRc!d}7?z zeRodFP18GOWVr9upU@>gT$BEv-f;0~!scg(V!W&?ovyqx%ZOJt+nZo5#ilP;T=>0R z>-3%ncc#5!QdxBP`Rp@%$}01!I40k@dUcnX`N2P*&LphnWvgI(v|CV7?wdi=Y{BKn zWZUMl6;=6rmgMa`6m7cg>ETJ7j5B)-*p?s9*PbI1y7$>(FUaYXKOOu|#-0><_Sxt1W=N`NL>sz+#zfn3K)b+?}cTUJ6 zo7uDW)p6?;EK}^1%{rv**?x($aM7(<`kv{x^{TFT7@V1T#Oy=Wp8Q8g%PLCwHwRm( z#&4VMU3H^ubpTV!-y^r8&4T zE_VeUG9uDA2{fOnvdd9=A#jS&#R0fgzY%yk$P^yn6rk#5(OUwp4uSzrmkdFNkEnu< z3^`fSYUTpeIb}i#59myhlc4EKqu7PKfh;17sw%R~pz}nGKr^5|;Tg^%jIJOf8%B*B dQepYy|C1zl-M+ID`#}d}dAj Date: Tue, 30 Aug 2016 11:37:48 +0200 Subject: [PATCH 18/29] [documentation] Throttling random request code example fix (#4451) --- docs/api-guide/throttling.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api-guide/throttling.md b/docs/api-guide/throttling.md index 51d2beef1..da4d5f725 100644 --- a/docs/api-guide/throttling.md +++ b/docs/api-guide/throttling.md @@ -188,7 +188,7 @@ The following is an example of a rate throttle, that will randomly throttle 1 in class RandomRateThrottle(throttling.BaseThrottle): def allow_request(self, request, view): - return random.randint(1, 10) == 1 + return random.randint(1, 10) != 1 [cite]: https://dev.twitter.com/docs/error-codes-responses [permissions]: permissions.md From 07efbdb45e5c7ef70249e985b3c1ef1cead455ba Mon Sep 17 00:00:00 2001 From: Mathieu Pillard Date: Fri, 2 Sep 2016 18:00:03 +0200 Subject: [PATCH 19/29] Fix APIClient.get() when path contains unicode arguments (#4458) --- rest_framework/test.py | 9 ++++++--- tests/test_testing.py | 7 +++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/rest_framework/test.py b/rest_framework/test.py index 3ba4059a9..fd9f6ab13 100644 --- a/rest_framework/test.py +++ b/rest_framework/test.py @@ -79,10 +79,13 @@ class APIRequestFactory(DjangoRequestFactory): r = { 'QUERY_STRING': urlencode(data or {}, doseq=True), } - # Fix to support old behavior where you have the arguments in the url - # See #1461 if not data and '?' in path: - r['QUERY_STRING'] = path.split('?')[1] + # Fix to support old behavior where you have the arguments in the + # url. See #1461. + query_string = force_bytes(path.split('?')[1]) + if six.PY3: + query_string = query_string.decode('iso-8859-1') + r['QUERY_STRING'] = query_string r.update(extra) return self.generic('GET', path, **r) diff --git a/tests/test_testing.py b/tests/test_testing.py index 3adcc55f8..6683ae6ed 100644 --- a/tests/test_testing.py +++ b/tests/test_testing.py @@ -245,3 +245,10 @@ class TestAPIRequestFactory(TestCase): self.assertEqual(dict(request.GET), {'demo': ['test']}) request = factory.get('/view/', {'demo': 'test'}) self.assertEqual(dict(request.GET), {'demo': ['test']}) + + def test_request_factory_url_arguments_with_unicode(self): + factory = APIRequestFactory() + request = factory.get('/view/?demo=testé') + self.assertEqual(dict(request.GET), {'demo': ['testé']}) + request = factory.get('/view/', {'demo': 'testé'}) + self.assertEqual(dict(request.GET), {'demo': ['testé']}) From 5df54a711f3770de28c0aaed9350e589df082117 Mon Sep 17 00:00:00 2001 From: TakesxiSximada Date: Mon, 5 Sep 2016 19:16:41 +0900 Subject: [PATCH 20/29] Set a view function's __module__ value to the WrappedAPIView object's __module__ (#4465) --- rest_framework/decorators.py | 1 + 1 file changed, 1 insertion(+) diff --git a/rest_framework/decorators.py b/rest_framework/decorators.py index 1b21e643b..554e5236c 100644 --- a/rest_framework/decorators.py +++ b/rest_framework/decorators.py @@ -55,6 +55,7 @@ def api_view(http_method_names=None): setattr(WrappedAPIView, method.lower(), handler) WrappedAPIView.__name__ = func.__name__ + WrappedAPIView.__module__ = func.__module__ WrappedAPIView.renderer_classes = getattr(func, 'renderer_classes', APIView.renderer_classes) From 6b6f3195092cb7f12cddf0dee2bfa4a0eaf3b15c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Padilla?= Date: Thu, 8 Sep 2016 09:01:26 -0400 Subject: [PATCH 21/29] Add missing comma (#4473) --- rest_framework/templates/rest_framework/admin.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/templates/rest_framework/admin.html b/rest_framework/templates/rest_framework/admin.html index eb2b8f1c7..de011cd09 100644 --- a/rest_framework/templates/rest_framework/admin.html +++ b/rest_framework/templates/rest_framework/admin.html @@ -232,7 +232,7 @@ {% block script %} From e91ffc87cb1e5b1148e839a0c3536de4da8efeef Mon Sep 17 00:00:00 2001 From: Xavier Ordoquy Date: Tue, 13 Sep 2016 07:21:10 +0200 Subject: [PATCH 22/29] Ignore empty args in the `MultipleFieldLookupMixin` definition - Closes #4484 --- docs/api-guide/generic-views.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/api-guide/generic-views.md b/docs/api-guide/generic-views.md index d7dc30ce1..5fea8d7e0 100644 --- a/docs/api-guide/generic-views.md +++ b/docs/api-guide/generic-views.md @@ -330,7 +330,8 @@ For example, if you need to lookup objects based on multiple fields in the URL c queryset = self.filter_queryset(queryset) # Apply any filter backends filter = {} for field in self.lookup_fields: - filter[field] = self.kwargs[field] + if self.kwargs[field]: # Ignore empty fields. + filter[field] = self.kwargs[field] return get_object_or_404(queryset, **filter) # Lookup the object You can then simply apply this mixin to a view or viewset anytime you need to apply the custom behavior. From a68b37d8bc432fae37ef5880aec500002b59f565 Mon Sep 17 00:00:00 2001 From: Jeff Willette Date: Tue, 13 Sep 2016 17:31:48 +0900 Subject: [PATCH 23/29] Update to correct location of reverse relation doc (#4481) --- docs/api-guide/serializers.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api-guide/serializers.md b/docs/api-guide/serializers.md index 70fab448c..5772d940a 100644 --- a/docs/api-guide/serializers.md +++ b/docs/api-guide/serializers.md @@ -442,7 +442,7 @@ Declaring a `ModelSerializer` looks like this: By default, all the model fields on the class will be mapped to a corresponding serializer fields. -Any relationships such as foreign keys on the model will be mapped to `PrimaryKeyRelatedField`. Reverse relationships are not included by default unless explicitly included as described below. +Any relationships such as foreign keys on the model will be mapped to `PrimaryKeyRelatedField`. Reverse relationships are not included by default unless explicitly included as specified in the [serializer relations][relations] documentation. #### Inspecting a `ModelSerializer` From 4655501d51080fbc7733a81fab1a227229a33e3f Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 15 Sep 2016 12:44:45 +0100 Subject: [PATCH 24/29] Fix regression of `RegexField`. (#4490) * Don't deepcopy 'regex' arguments, instead treat as immutable. --- rest_framework/fields.py | 21 ++++++++++++--------- tests/test_fields.py | 15 +++++++++++++++ tests/test_serializer.py | 14 ++++++++++++++ 3 files changed, 41 insertions(+), 9 deletions(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index f76e4e801..917a151e5 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -252,6 +252,8 @@ class SkipField(Exception): pass +REGEX_TYPE = type(re.compile('')) + NOT_READ_ONLY_WRITE_ONLY = 'May not set both `read_only` and `write_only`' NOT_READ_ONLY_REQUIRED = 'May not set both `read_only` and `required`' NOT_REQUIRED_DEFAULT = 'May not set both `required` and `default`' @@ -581,16 +583,17 @@ class Field(object): When cloning fields we instantiate using the arguments it was originally created with, rather than copying the complete state. """ - args = copy.deepcopy(self._args) - kwargs = dict(self._kwargs) - # Bit ugly, but we need to special case 'validators' as Django's - # RegexValidator does not support deepcopy. - # We treat validator callables as immutable objects. + # Treat regexes and validators as immutable. # See https://github.com/tomchristie/django-rest-framework/issues/1954 - validators = kwargs.pop('validators', None) - kwargs = copy.deepcopy(kwargs) - if validators is not None: - kwargs['validators'] = validators + # and https://github.com/tomchristie/django-rest-framework/pull/4489 + args = [ + copy.deepcopy(item) if not isinstance(item, REGEX_TYPE) else item + for item in self._args + ] + kwargs = { + key: (copy.deepcopy(value) if (key not in ('validators', 'regex')) else value) + for key, value in self._kwargs.items() + } return self.__class__(*args, **kwargs) def __repr__(self): diff --git a/tests/test_fields.py b/tests/test_fields.py index f1a588c27..4a4b741c5 100644 --- a/tests/test_fields.py +++ b/tests/test_fields.py @@ -1,5 +1,6 @@ import datetime import os +import re import uuid from decimal import Decimal @@ -590,6 +591,20 @@ class TestRegexField(FieldValues): field = serializers.RegexField(regex='[a-z][0-9]') +class TestiCompiledRegexField(FieldValues): + """ + Valid and invalid values for `RegexField`. + """ + valid_inputs = { + 'a9': 'a9', + } + invalid_inputs = { + 'A9': ["This value does not match the required pattern."] + } + outputs = {} + field = serializers.RegexField(regex=re.compile('[a-z][0-9]')) + + class TestSlugField(FieldValues): """ Valid and invalid values for `SlugField`. diff --git a/tests/test_serializer.py b/tests/test_serializer.py index 4e9080909..bd9ef9500 100644 --- a/tests/test_serializer.py +++ b/tests/test_serializer.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import pickle +import re import pytest @@ -337,3 +338,16 @@ class TestDefaultInclusions: assert serializer.is_valid() assert serializer.validated_data == {'integer': 456} assert serializer.errors == {} + + +class TestSerializerValidationWithCompiledRegexField: + def setup(self): + class ExampleSerializer(serializers.Serializer): + name = serializers.RegexField(re.compile(r'\d'), required=True) + self.Serializer = ExampleSerializer + + def test_validation_success(self): + serializer = self.Serializer(data={'name': '2'}) + assert serializer.is_valid() + assert serializer.validated_data == {'name': '2'} + assert serializer.errors == {} From fe4c4fa75147f114e014c3d6623d84de35c01fe7 Mon Sep 17 00:00:00 2001 From: Tanner Hobson Date: Fri, 16 Sep 2016 22:09:49 -0400 Subject: [PATCH 25/29] Fix indentation regression in API listing (#4493) In commit 5392be4ddba37da3e50c3feabc8b3b1c944481a8, there was a change made when cleaning up the template for the API listing that caused 2 spaces to appear before every header item (except the first) and before the first line of the body of the response. This meant that it often looked like: HTTP 200 OK Allow: GET, OPTIONS Content-Type: application/json Vary: Accept { "key": "value", "key2": "value2" } This change removes those leading spaces, so that it will now look like: HTTP 200 OK Allow: GET, OPTIONS Content-Type: application/json Vary: Accept { "key": "value", "key2": "value2" } --- rest_framework/templates/rest_framework/base.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rest_framework/templates/rest_framework/base.html b/rest_framework/templates/rest_framework/base.html index 7f5170a62..5df23b767 100644 --- a/rest_framework/templates/rest_framework/base.html +++ b/rest_framework/templates/rest_framework/base.html @@ -150,10 +150,10 @@

-
HTTP {{ response.status_code }} {{ response.status_text }}{% autoescape off %}
-  {% for key, val in response_headers.items %}{{ key }}: {{ val|break_long_headers|urlize_quoted_links }}
-  {% endfor %}
-  {{ content|urlize_quoted_links }}
{% endautoescape %} +
HTTP {{ response.status_code }} {{ response.status_text }}{% autoescape off %}{% for key, val in response_headers.items %}
+{{ key }}: {{ val|break_long_headers|urlize_quoted_links }}{% endfor %}
+
+{{ content|urlize_quoted_links }}
{% endautoescape %}
From fe96ceced08fa36db122deeb53e525e25e3f3daf Mon Sep 17 00:00:00 2001 From: Ollie Ford Date: Sat, 17 Sep 2016 03:13:34 +0100 Subject: [PATCH 26/29] fixes response rendering with empty context (#4495) This commit allows `response.render` to be called when `response.rendered_context == {}`. This should be allowed, since if [the JSONRenderer, for example](https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/renderers.py#L85-L92) receives a `None` context, it sets it to an empty dictionary itself. --- rest_framework/response.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rest_framework/response.py b/rest_framework/response.py index 4b863cb99..cb0f290ce 100644 --- a/rest_framework/response.py +++ b/rest_framework/response.py @@ -56,7 +56,7 @@ class Response(SimpleTemplateResponse): assert renderer, ".accepted_renderer not set on Response" assert accepted_media_type, ".accepted_media_type not set on Response" - assert context, ".renderer_context not set on Response" + assert context is not None, ".renderer_context not set on Response" context['response'] = self media_type = renderer.media_type From 76cc2f031940c2440f27c0070ee709f7f1304fe5 Mon Sep 17 00:00:00 2001 From: Jozef Knaperek Date: Mon, 19 Sep 2016 21:52:06 +0200 Subject: [PATCH 27/29] Rename an invalid reference to BasicToken in the docs --- docs/api-guide/authentication.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/api-guide/authentication.md b/docs/api-guide/authentication.md index 8d880b037..bf3a31eb7 100644 --- a/docs/api-guide/authentication.md +++ b/docs/api-guide/authentication.md @@ -148,7 +148,7 @@ For clients to authenticate, the token key should be included in the `Authorizat If successfully authenticated, `TokenAuthentication` provides the following credentials. * `request.user` will be a Django `User` instance. -* `request.auth` will be a `rest_framework.authtoken.models.BasicToken` instance. +* `request.auth` will be a `rest_framework.authtoken.models.Token` instance. Unauthenticated responses that are denied permission will result in an `HTTP 401 Unauthorized` response with an appropriate WWW-Authenticate header. For example: From be74d11165c364687ecc41bc6eb0970af24670fa Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Wed, 21 Sep 2016 11:49:09 +0100 Subject: [PATCH 28/29] Fallback behavior for request parsing when request.POST already accessed. (#4500) --- rest_framework/request.py | 27 +++++++++++++++++++++--- tests/test_parsers.py | 43 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 66 insertions(+), 4 deletions(-) diff --git a/rest_framework/request.py b/rest_framework/request.py index 355cccad7..0a827728a 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -15,6 +15,7 @@ import sys from django.conf import settings from django.http import QueryDict from django.http.multipartparser import parse_header +from django.http.request import RawPostDataException from django.utils import six from django.utils.datastructures import MultiValueDict @@ -263,10 +264,20 @@ class Request(object): if content_length == 0: self._stream = None - elif hasattr(self._request, 'read'): + elif not self._request._read_started: self._stream = self._request else: - self._stream = six.BytesIO(self.raw_post_data) + self._stream = six.BytesIO(self.body) + + def _supports_form_parsing(self): + """ + Return True if this requests supports parsing form data. + """ + form_media = ( + 'application/x-www-form-urlencoded', + 'multipart/form-data' + ) + return any([parser.media_type in form_media for parser in self.parsers]) def _parse(self): """ @@ -274,8 +285,18 @@ class Request(object): May raise an `UnsupportedMediaType`, or `ParseError` exception. """ - stream = self.stream media_type = self.content_type + try: + stream = self.stream + except RawPostDataException: + if not hasattr(self._request, '_post'): + raise + # If request.POST has been accessed in middleware, and a method='POST' + # request was made with 'multipart/form-data', then the request stream + # will already have been exhausted. + if self._supports_form_parsing(): + return (self._request.POST, self._request.FILES) + stream = None if stream is None or media_type is None: empty_data = QueryDict('', encoding=self._request._encoding) diff --git a/tests/test_parsers.py b/tests/test_parsers.py index f3af6817f..5052e2e53 100644 --- a/tests/test_parsers.py +++ b/tests/test_parsers.py @@ -7,11 +7,16 @@ from django import forms from django.core.files.uploadhandler import ( MemoryFileUploadHandler, TemporaryFileUploadHandler ) +from django.http.request import RawPostDataException from django.test import TestCase from django.utils.six.moves import StringIO from rest_framework.exceptions import ParseError -from rest_framework.parsers import FileUploadParser, FormParser +from rest_framework.parsers import ( + FileUploadParser, FormParser, JSONParser, MultiPartParser +) +from rest_framework.request import Request +from rest_framework.test import APIRequestFactory class Form(forms.Form): @@ -122,3 +127,39 @@ class TestFileUploadParser(TestCase): def __replace_content_disposition(self, disposition): self.parser_context['request'].META['HTTP_CONTENT_DISPOSITION'] = disposition + + +class TestPOSTAccessed(TestCase): + def setUp(self): + self.factory = APIRequestFactory() + + def test_post_accessed_in_post_method(self): + django_request = self.factory.post('/', {'foo': 'bar'}) + request = Request(django_request, parsers=[FormParser(), MultiPartParser()]) + django_request.POST + assert request.POST == {'foo': ['bar']} + assert request.data == {'foo': ['bar']} + + def test_post_accessed_in_post_method_with_json_parser(self): + django_request = self.factory.post('/', {'foo': 'bar'}) + request = Request(django_request, parsers=[JSONParser()]) + django_request.POST + assert request.POST == {} + assert request.data == {} + + def test_post_accessed_in_put_method(self): + django_request = self.factory.put('/', {'foo': 'bar'}) + request = Request(django_request, parsers=[FormParser(), MultiPartParser()]) + django_request.POST + assert request.POST == {'foo': ['bar']} + assert request.data == {'foo': ['bar']} + + def test_request_read_before_parsing(self): + django_request = self.factory.put('/', {'foo': 'bar'}) + request = Request(django_request, parsers=[FormParser(), MultiPartParser()]) + django_request.read() + with pytest.raises(RawPostDataException): + request.POST + with pytest.raises(RawPostDataException): + request.POST + request.data From 7ab4a587d981f45ca440c53fa5514ad57e80abc3 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Wed, 21 Sep 2016 12:24:26 +0100 Subject: [PATCH 29/29] Version 3.4.7 (#4501) --- docs/topics/release-notes.md | 28 ++++++++++++++++++++++++++++ rest_framework/__init__.py | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/docs/topics/release-notes.md b/docs/topics/release-notes.md index 63aa4e4a3..446abdd14 100644 --- a/docs/topics/release-notes.md +++ b/docs/topics/release-notes.md @@ -40,6 +40,18 @@ You can determine your currently installed version using `pip freeze`: ## 3.4.x series +### 3.4.7 + +**Date**: [21st September 2016][3.4.7-milestone] + +* Fallback behavior for request parsing when request.POST already accessed. ([#3951][gh3951], [#4500][gh4500]) +* Fix regression of `RegexField`. ([#4489][gh4489], [#4490][gh4490], [#2617][gh2617]) +* Missing comma in `admin.html` causing CSRF error. ([#4472][gh4472], [#4473][gh4473]) +* Fix response rendering with empty context. ([#4495][gh4495]) +* Fix indentation regression in API listing. ([#4493][gh4493]) +* Fixed an issue where the incorrect value is set to `ResolverMatch.func_name` of api_view decorated view. ([#4465][gh4465], [#4462][gh4462]) +* Fix `APIClient.get()` when path contains unicode arguments ([#4458][gh4458]) + ### 3.4.6 **Date**: [23rd August 2016][3.4.6-milestone] @@ -583,6 +595,7 @@ For older release notes, [please see the version 2.x documentation][old-release- [3.4.4-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.4+Release%22 [3.4.5-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.5+Release%22 [3.4.6-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.6+Release%22 +[3.4.7-milestone]: https://github.com/tomchristie/django-rest-framework/issues?q=milestone%3A%223.4.7+Release%22 [gh2013]: https://github.com/tomchristie/django-rest-framework/issues/2013 @@ -1109,3 +1122,18 @@ For older release notes, [please see the version 2.x documentation][old-release- [gh3508]: https://github.com/tomchristie/django-rest-framework/issues/3508 [gh4419]: https://github.com/tomchristie/django-rest-framework/issues/4419 [gh4423]: https://github.com/tomchristie/django-rest-framework/issues/4423 + + + +[gh3951]: https://github.com/tomchristie/django-rest-framework/issues/3951 +[gh4500]: https://github.com/tomchristie/django-rest-framework/issues/4500 +[gh4489]: https://github.com/tomchristie/django-rest-framework/issues/4489 +[gh4490]: https://github.com/tomchristie/django-rest-framework/issues/4490 +[gh2617]: https://github.com/tomchristie/django-rest-framework/issues/2617 +[gh4472]: https://github.com/tomchristie/django-rest-framework/issues/4472 +[gh4473]: https://github.com/tomchristie/django-rest-framework/issues/4473 +[gh4495]: https://github.com/tomchristie/django-rest-framework/issues/4495 +[gh4493]: https://github.com/tomchristie/django-rest-framework/issues/4493 +[gh4465]: https://github.com/tomchristie/django-rest-framework/issues/4465 +[gh4462]: https://github.com/tomchristie/django-rest-framework/issues/4462 +[gh4458]: https://github.com/tomchristie/django-rest-framework/issues/4458 diff --git a/rest_framework/__init__.py b/rest_framework/__init__.py index d99d82d23..457af6c88 100644 --- a/rest_framework/__init__.py +++ b/rest_framework/__init__.py @@ -8,7 +8,7 @@ ______ _____ _____ _____ __ """ __title__ = 'Django REST framework' -__version__ = '3.4.6' +__version__ = '3.4.7' __author__ = 'Tom Christie' __license__ = 'BSD 2-Clause' __copyright__ = 'Copyright 2011-2016 Tom Christie'