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 061cacd

Browse files
scottfiskjerel
authored andcommitted
Remove check for relation_instance as it is not always available (#278)
Closes issue #270
1 parent 43fd5ee commit 061cacd

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

‎example/tests/unit/test_renderers.py‎

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
from example.models import Entry, Comment
2+
from rest_framework_json_api import serializers, views
3+
from rest_framework_json_api.renderers import JSONRenderer
4+
5+
6+
# serializers
7+
class RelatedModelSerializer(serializers.ModelSerializer):
8+
class Meta:
9+
model = Comment
10+
fields = ('id',)
11+
12+
13+
class DummyTestSerializer(serializers.ModelSerializer):
14+
'''
15+
This serializer is a simple compound document serializer which includes only
16+
a single embedded relation
17+
'''
18+
related_models = RelatedModelSerializer(
19+
source='comment_set', many=True, read_only=True)
20+
21+
class Meta:
22+
model = Entry
23+
fields = ('related_models',)
24+
25+
class JSONAPIMeta:
26+
included_resources = ('related_models',)
27+
28+
29+
# views
30+
class DummyTestViewSet(views.ModelViewSet):
31+
queryset = Entry.objects.all()
32+
serializer_class = DummyTestSerializer
33+
34+
35+
def test_simple_reverse_relation_included_renderer():
36+
'''
37+
Test renderer when a single reverse fk relation is passed.
38+
'''
39+
serializer = DummyTestSerializer(instance=Entry())
40+
renderer = JSONRenderer()
41+
rendered = renderer.render(
42+
serializer.data,
43+
renderer_context={'view': DummyTestViewSet()})
44+
45+
assert rendered

‎rest_framework_json_api/renderers.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ def extract_relationships(fields, resource, resource_instance):
199199
})
200200
continue
201201

202-
if isinstance(field, ListSerializer)andrelation_instanceisnotNone:
202+
if isinstance(field, ListSerializer):
203203
resolved, relation_instance = utils.get_relation_instance(resource_instance, source, field.parent)
204204
if not resolved:
205205
continue

0 commit comments

Comments
(0)

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