Skip to content

Commit 27fa05c

Browse files
committed
created serializers, url, views for Tag
1 parent ab370fb commit 27fa05c

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

challenges/serializers.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,19 @@ class Meta:
4747
class JSONAPIMeta:
4848
included_resources = ['user', 'tags', 'sources']
4949

50+
class TagGetSerializer(serializers.ModelSerializer):
51+
class Meta:
52+
model = Tag
53+
fields = ('name', 'challenges')
54+
55+
challenges = ResourceRelatedField(
56+
queryset=Challenge.objects,
57+
many=True,
58+
)
59+
60+
included_serializers = {
61+
'challenges': ChallengeSerializer,
62+
}
63+
64+
class JSONAPIMeta:
65+
included_resources = ['challenges',]

challenges/urls.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
router = routers.DefaultRouter(trailing_slash=False)
66
router.register(r'challenges', views.ChallengesViewSet, base_name='Challenges')
7+
router.register(r'tags', views.TagsViewSet, base_name='Tags')
78

89
urlpatterns = [
910
url(r'^', include(router.urls)),

challenges/views.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from rest_framework import viewsets
2-
from .models import Challenge
3-
from .serializers import ChallengeSerializer
2+
from .models import Challenge, Tag
3+
from .serializers import ChallengeSerializer, TagGetSerializer
44

55
class ChallengesViewSet(viewsets.ModelViewSet):
66

@@ -12,3 +12,14 @@ def get_queryset(self):
1212
return queryset
1313

1414
serializer_class = ChallengeSerializer
15+
16+
class TagsViewSet(viewsets.ModelViewSet):
17+
18+
def get_queryset(self):
19+
queryset = Tag.objects.all()
20+
pk = self.request.query_params.get('name', None)
21+
if pk is not None:
22+
queryset = queryset.filter(name=name)
23+
return queryset
24+
25+
serializer_class = TagGetSerializer

0 commit comments

Comments
 (0)