Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 70685c9

Browse files
authored
Added support for Django REST framework 3.15 (#1209)
* Added support for Django REST framework 3.15 As per our policy this drops support for 3.13 as we only support two versions of DRF. * Added clarification in changelog about removed compat definitions
1 parent ee86180 commit 70685c9

File tree

9 files changed

+14
-33
lines changed

9 files changed

+14
-33
lines changed

‎CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ any parts of the framework not mentioned in the documentation should generally b
1414

1515
* Added support for Python 3.12
1616
* Added support for Django 5.0
17+
* Added support for Django REST framework 3.15
1718

1819
### Fixed
1920

@@ -26,10 +27,12 @@ any parts of the framework not mentioned in the documentation should generally b
2627

2728
* Removed support for Python 3.7.
2829
* Removed support for Django 4.0.
30+
* Removed support for Django REST framework 3.13.
31+
* Removed obsolete compat `NullBooleanField` and `get_reference` definitions.
2932

3033
## [6.1.0] - 2023年08月25日
3134

32-
This is the last release supporting Python 3.7 and Django 4.0.
35+
This is the last release supporting Python 3.7, Django 4.0 and Django REST framework 3.13.
3336

3437
### Added
3538

‎README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ Requirements
9494

9595
1. Python (3.8, 3.9, 3.10, 3.11, 3.12)
9696
2. Django (3.2, 4.1, 4.2, 5.0)
97-
3. Django REST framework (3.13, 3.14)
97+
3. Django REST framework (3.14, 3.15)
9898

9999
We **highly** recommend and only officially support the latest patch release of each Python, Django and REST framework series.
100100

‎docs/getting-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ like the following:
5353

5454
1. Python (3.8, 3.9, 3.10, 3.11, 3.12)
5555
2. Django (3.2, 4.1, 4.2, 5.0)
56-
3. Django REST framework (3.13, 3.14)
56+
3. Django REST framework (3.14, 3.15)
5757

5858
We **highly** recommend and only officially support the latest patch release of each Python, Django and REST framework series.
5959

‎rest_framework_json_api/compat.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +0,0 @@
1-
# Django REST framework 3.14 removed NullBooleanField
2-
# can be removed once support for DRF 3.13 is dropped.
3-
try:
4-
from rest_framework.serializers import NullBooleanField
5-
except ImportError: # pragma: no cover
6-
NullBooleanField = object()
7-
8-
9-
# Django REST framework 3.14 deprecates usage of `_get_reference`.
10-
# can be removed once support for DRF 3.13 is dropped.
11-
def get_reference(schema, serializer):
12-
try:
13-
return schema.get_reference(serializer)
14-
except AttributeError: # pragma: no cover
15-
return schema._get_reference(serializer)

‎rest_framework_json_api/metadata.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
from rest_framework.settings import api_settings
66
from rest_framework.utils.field_mapping import ClassLookupDict
77

8-
from rest_framework_json_api.compat import NullBooleanField
98
from rest_framework_json_api.utils import format_field_name, get_related_resource_type
109

1110

@@ -22,7 +21,6 @@ class JSONAPIMetadata(SimpleMetadata):
2221
serializers.Field: "GenericField",
2322
serializers.RelatedField: "Relationship",
2423
serializers.BooleanField: "Boolean",
25-
NullBooleanField: "Boolean",
2624
serializers.CharField: "String",
2725
serializers.URLField: "URL",
2826
serializers.EmailField: "Email",

‎rest_framework_json_api/schemas/openapi.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
from rest_framework.schemas.utils import is_list_view
88

99
from rest_framework_json_api import serializers, views
10-
from rest_framework_json_api.compat import get_reference
1110
from rest_framework_json_api.relations import ManySerializerMethodResourceRelatedField
1211
from rest_framework_json_api.utils import format_field_name
1312

@@ -533,12 +532,10 @@ def _get_toplevel_200_response(self, operation, path, method, collection=True):
533532
if collection:
534533
data = {
535534
"type": "array",
536-
"items": get_reference(
537-
self, self.get_response_serializer(path, method)
538-
),
535+
"items": self.get_reference(self.get_response_serializer(path, method)),
539536
}
540537
else:
541-
data = get_reference(self, self.get_response_serializer(path, method))
538+
data = self.get_reference(self.get_response_serializer(path, method))
542539

543540
return {
544541
"description": operation["operationId"],

‎setup.cfg

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,6 @@ DJANGO_SETTINGS_MODULE=example.settings.test
6363
filterwarnings =
6464
error::DeprecationWarning
6565
error::PendingDeprecationWarning
66-
# Remove when DRF is not depending on it anymore
67-
ignore:The django.utils.timezone.utc alias is deprecated.
6866
# Django filter schema generation. Can be removed once we remove
6967
# schema support
7068
ignore:Built-in schema generation is deprecated.

‎setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ def get_package_data(package):
106106
},
107107
install_requires=[
108108
"inflection>=0.5.0",
109-
"djangorestframework>=3.13",
109+
"djangorestframework>=3.14",
110110
"django>=3.2",
111111
],
112112
extras_require={

‎tox.ini

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
[tox]
22
envlist =
3-
py{38,39,310}-django32-drf{313,314,master},
4-
py{38,39,310,311}-django41-drf{314,master},
5-
py{38,39,310,311,312}-django42-drf{314,master},
6-
py{310,311,312}-django50-drf{314,master},
3+
py{38,39,310}-django32-drf{314,315,master},
4+
py{38,39,310,311}-django41-drf{314,315,master},
5+
py{38,39,310,311,312}-django42-drf{314,315,master},
6+
py{310,311,312}-django50-drf{314,315,master},
77
black,
88
docs,
99
lint
@@ -14,8 +14,8 @@ deps =
1414
django41: Django>=4.1,<4.2
1515
django42: Django>=4.2,<4.3
1616
django50: Django>=5.0,<5.1
17-
drf313: djangorestframework>=3.13,<3.14
1817
drf314: djangorestframework>=3.14,<3.15
18+
drf315: djangorestframework>=3.15,<3.16
1919
drfmaster: https://github.com/encode/django-rest-framework/archive/master.zip
2020
-rrequirements/requirements-testing.txt
2121
-rrequirements/requirements-optionals.txt

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /