forked from MaZderMind/django-vs-extjs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rest.py
26 lines (21 loc) · 830 Bytes
/
rest.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from rest_framework import viewsets, routers, serializers
from rest_framework_chain import ChainedFilterSet, AllLookupsFilter
from polls.models import Poll
# the serializer specifies how the records are serialized in the list or detail-views
class PollSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = Poll
fields = ('id', 'url', 'question', 'pub_date', )
# Just a regular FilterSet
class PollFilter(ChainedFilterSet):
question = AllLookupsFilter(name='question')
class Meta:
model = Poll
# the viewset defines urls and views for list and detail-viwes
class PollViewSet(viewsets.ModelViewSet):
queryset = Poll.objects.all()
serializer_class = PollSerializer
filter_class = PollFilter
# register viewsets for the rest-api
def register(restrouter):
restrouter.register(r'polls', PollViewSet)