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 3539739

Browse files
Added test for SerializerMethodResourceRelatedField with many=True
1 parent 9fd42be commit 3539739

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

‎example/serializers.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,11 @@ def __init__(self, *args, **kwargs):
4444
source='comment_set', many=True, read_only=True)
4545
# many related from serializer
4646
suggested = relations.SerializerMethodResourceRelatedField(
47-
source='get_suggested', model=Entry, many=True, read_only=True)
47+
source='get_suggested', model=Entry, many=True, read_only=True,
48+
related_link_view_name='entry-suggested',
49+
related_link_url_kwarg='entry_pk',
50+
self_link_view_name='entry-relationships',
51+
)
4852
# single related from serializer
4953
featured = relations.SerializerMethodResourceRelatedField(
5054
source='get_featured', model=Entry, read_only=True)

‎example/tests/integration/test_non_paginated_responses.py‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ def test_multiple_entries_no_pagination(multiple_entries, rf):
4343
"data": [{"type": "comments", "id": "1"}]
4444
},
4545
"suggested": {
46-
"data": [{"type": "entries", "id": "2"}]
46+
"data": [{"type": "entries", "id": "2"}],
47+
"links": {
48+
"related": "http://testserver/entries/1/suggested/",
49+
"self": "http://testserver/entries/1/relationships/suggested"
50+
}
4751
}
4852
}
4953
},
@@ -74,7 +78,11 @@ def test_multiple_entries_no_pagination(multiple_entries, rf):
7478
"data": [{"type": "comments", "id": "2"}]
7579
},
7680
"suggested": {
77-
"data": [{"type": "entries", "id": "1"}]
81+
"data": [{"type": "entries", "id": "1"}],
82+
"links": {
83+
"related": "http://testserver/entries/2/suggested/",
84+
"self": "http://testserver/entries/2/relationships/suggested"
85+
}
7886
}
7987
}
8088
},

‎example/tests/integration/test_pagination.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@ def test_pagination_with_single_entry(single_entry, client):
3737
"data": [{"type": "comments", "id": "1"}]
3838
},
3939
"suggested": {
40-
"data": []
40+
"data": [],
41+
"links": {
42+
"related": "http://testserver/entries/1/suggested/",
43+
"self": "http://testserver/entries/1/relationships/suggested"
44+
}
4145
}
4246
}
4347
}],

‎example/urls_test.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
GenericIdentity.as_view(), name='user-default'),
2424

2525

26+
url(r'^entries/(?P<entry_pk>[^/.]+)/suggested/',
27+
EntryViewSet.as_view({'get': 'list'}),
28+
name='entry-suggested'
29+
),
2630
url(r'^entries/(?P<pk>[^/.]+)/relationships/(?P<related_field>\w+)',
2731
EntryRelationshipView.as_view(),
2832
name='entry-relationships'),

0 commit comments

Comments
(0)

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