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 8f32502

Browse files
committed
Removed OrderedDict in serializers, utils and views
1 parent 3d01f0c commit 8f32502

File tree

4 files changed

+17
-36
lines changed

4 files changed

+17
-36
lines changed

‎rest_framework_json_api/serializers.py‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from collections import OrderedDict
21
from collections.abc import Mapping
32

43
import inflection
@@ -95,7 +94,7 @@ def __init__(self, *args, **kwargs):
9594
pass
9695
else:
9796
fieldset = request.query_params.get(param_name).split(",")
98-
# iterate over a *copy* of self.fields' underlying OrderedDict, because we may
97+
# iterate over a *copy* of self.fields' underlying dict, because we may
9998
# modify the original during the iteration.
10099
# self.fields is a `rest_framework.utils.serializer_helpers.BindingDict`
101100
for field_name, _field in self.fields.fields.copy().items():
@@ -305,7 +304,7 @@ def get_field_names(self, declared_fields, info):
305304
"""
306305
meta_fields = getattr(self.Meta, "meta_fields", [])
307306

308-
declared = OrderedDict()
307+
declared = {}
309308
for field_name in set(declared_fields.keys()):
310309
field = declared_fields[field_name]
311310
if field_name not in meta_fields:

‎rest_framework_json_api/utils.py‎

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import inspect
22
import operator
3-
from collections import OrderedDict
43

54
import inflection
65
from django.conf import settings
@@ -107,11 +106,7 @@ def format_field_names(obj, format_type=None):
107106
format_type = json_api_settings.FORMAT_FIELD_NAMES
108107

109108
if isinstance(obj, dict):
110-
formatted = OrderedDict()
111-
for key, value in obj.items():
112-
key = format_value(key, format_type)
113-
formatted[key] = value
114-
return formatted
109+
return {format_value(key, format_type): value for key, value in obj.items()}
115110

116111
return obj
117112

‎rest_framework_json_api/views.py‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
from rest_framework_json_api.serializers import ResourceIdentifierObjectSerializer
2424
from rest_framework_json_api.utils import (
2525
Hyperlink,
26-
OrderedDict,
2726
get_included_resources,
2827
get_resource_type_from_instance,
2928
undo_format_link_segment,
@@ -275,7 +274,7 @@ def get_url(self, name, view_name, kwargs, request):
275274
return Hyperlink(url, name)
276275

277276
def get_links(self):
278-
return_data = OrderedDict()
277+
return_data = {}
279278
self_link = self.get_url(
280279
"self", self.self_link_view_name, self.kwargs, self.request
281280
)
@@ -284,9 +283,9 @@ def get_links(self):
284283
"related", self.related_link_view_name, related_kwargs, self.request
285284
)
286285
if self_link:
287-
return_data.update({"self": self_link})
286+
return_data["self"] =self_link
288287
if related_link:
289-
return_data.update({"related": related_link})
288+
return_data["related"] =related_link
290289
return return_data
291290

292291
def get(self, request, *args, **kwargs):

‎tests/test_pagination.py‎

Lines changed: 11 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from collections import OrderedDict
2-
31
from rest_framework.request import Request
42

53
from rest_framework_json_api.pagination import JsonApiLimitOffsetPagination
@@ -27,28 +25,18 @@ def test_get_paginated_response(self, rf):
2725

2826
expected_content = {
2927
"results": list(range(11, 16)),
30-
"links": OrderedDict(
31-
[
32-
("first", "http://testserver/?page%5Blimit%5D=5"),
33-
(
34-
"last",
35-
"http://testserver/?page%5Blimit%5D=5&page%5Boffset%5D=100",
36-
),
37-
(
38-
"next",
39-
"http://testserver/?page%5Blimit%5D=5&page%5Boffset%5D=15",
40-
),
41-
("prev", "http://testserver/?page%5Blimit%5D=5&page%5Boffset%5D=5"),
42-
]
43-
),
28+
"links": {
29+
"first": "http://testserver/?page%5Blimit%5D=5",
30+
"last": "http://testserver/?page%5Blimit%5D=5&page%5Boffset%5D=100",
31+
"next": "http://testserver/?page%5Blimit%5D=5&page%5Boffset%5D=15",
32+
"prev": "http://testserver/?page%5Blimit%5D=5&page%5Boffset%5D=5",
33+
},
4434
"meta": {
45-
"pagination": OrderedDict(
46-
[
47-
("count", count),
48-
("limit", limit),
49-
("offset", offset),
50-
]
51-
)
35+
"pagination": {
36+
"count": count,
37+
"limit": limit,
38+
"offset": offset,
39+
}
5240
},
5341
}
5442

0 commit comments

Comments
(0)

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