diff --git a/docs/topics/3.1-announcement.md b/docs/topics/3.1-announcement.md index fb4fa0839..7242a032a 100644 --- a/docs/topics/3.1-announcement.md +++ b/docs/topics/3.1-announcement.md @@ -173,6 +173,16 @@ Thanks go to the latest member of our maintenance team, [José Padilla](https:// --- +## Deprecations + +The `request.DATA`, `request.FILES` and `request.QUERY_PARAMS` attributes move from pending deprecation, to deprecated. Use `request.data` and `request.query_params` instead, as discussed in the 3.0 release notes. + +The ModelSerializer Meta options for `write_only_fields`, `view_name` and `lookup_field` are also moved from pending deprecation, to deprecated. Use `extra_kwargs` instead, as discussed in the 3.0 release notes. + +All these attributes and options will still work in 3.1, but their usage will raise a warning. They will be fully removed in 3.2. + +--- + ## What's next? The next focus will be on HTML renderings of API output and will include: diff --git a/rest_framework/request.py b/rest_framework/request.py index bf6ff6706..86fb1ef12 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -219,8 +219,8 @@ class Request(object): Synonym for `.query_params`, for backwards compatibility. """ warnings.warn( - "`request.QUERY_PARAMS` is pending deprecation. Use `request.query_params` instead.", - PendingDeprecationWarning, + "`request.QUERY_PARAMS` is deprecated. Use `request.query_params` instead.", + DeprecationWarning, stacklevel=1 ) return self._request.GET @@ -240,8 +240,8 @@ class Request(object): arbitrary parsers, and also works on methods other than POST (eg PUT). """ warnings.warn( - "`request.DATA` is pending deprecation. Use `request.data` instead.", - PendingDeprecationWarning, + "`request.DATA` is deprecated. Use `request.data` instead.", + DeprecationWarning, stacklevel=1 ) if not _hasattr(self, '_data'): @@ -257,8 +257,8 @@ class Request(object): arbitrary parsers, and also works on methods other than POST (eg PUT). """ warnings.warn( - "`request.FILES` is pending deprecation. Use `request.data` instead.", - PendingDeprecationWarning, + "`request.FILES` is deprecated. Use `request.data` instead.", + DeprecationWarning, stacklevel=1 ) if not _hasattr(self, '_files'): diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 188219583..18b810dfe 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -1103,9 +1103,9 @@ class ModelSerializer(Serializer): write_only_fields = getattr(self.Meta, 'write_only_fields', None) if write_only_fields is not None: warnings.warn( - "The `Meta.write_only_fields` option is pending deprecation. " + "The `Meta.write_only_fields` option is deprecated. " "Use `Meta.extra_kwargs={: {'write_only': True}}` instead.", - PendingDeprecationWarning, + DeprecationWarning, stacklevel=3 ) for field_name in write_only_fields: @@ -1116,9 +1116,9 @@ class ModelSerializer(Serializer): view_name = getattr(self.Meta, 'view_name', None) if view_name is not None: warnings.warn( - "The `Meta.view_name` option is pending deprecation. " + "The `Meta.view_name` option is deprecated. " "Use `Meta.extra_kwargs={'url': {'view_name': ...}}` instead.", - PendingDeprecationWarning, + DeprecationWarning, stacklevel=3 ) kwargs = extra_kwargs.get(api_settings.URL_FIELD_NAME, {}) @@ -1128,9 +1128,9 @@ class ModelSerializer(Serializer): lookup_field = getattr(self.Meta, 'lookup_field', None) if lookup_field is not None: warnings.warn( - "The `Meta.lookup_field` option is pending deprecation. " + "The `Meta.lookup_field` option is deprecated. " "Use `Meta.extra_kwargs={'url': {'lookup_field': ...}}` instead.", - PendingDeprecationWarning, + DeprecationWarning, stacklevel=3 ) kwargs = extra_kwargs.get(api_settings.URL_FIELD_NAME, {}) diff --git a/rest_framework/views.py b/rest_framework/views.py index 9445c840c..b4abc4d95 100644 --- a/rest_framework/views.py +++ b/rest_framework/views.py @@ -409,7 +409,7 @@ class APIView(View): warnings.warn( 'The `exception_handler(exc)` call signature is deprecated. ' 'Use `exception_handler(exc, context) instead.', - PendingDeprecationWarning + DeprecationWarning ) response = exception_handler(exc) else: