mybuddy/api/views.py

85 lines
2.5 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from rest_framework import viewsets
2017-08-13 19:51:25 +00:00
from core.models import Baby, DiaperChange, Feeding, Sleep, TummyTime
from .serializers import (BabySerializer, DiaperChangeSerializer,
FeedingSerializer, SleepSerializer,
2017-08-13 20:17:18 +00:00
TummyTimeSerializer,)
2017-08-13 14:48:16 +00:00
class BabyViewSet(viewsets.ModelViewSet):
queryset = Baby.objects.all()
serializer_class = BabySerializer
2017-08-13 20:15:57 +00:00
def get_queryset(self):
queryset = Baby.objects.all()
for param in ['first_name', 'last_name']:
value = self.request.query_params.get(param, None)
if value is not None:
queryset = queryset.filter(**{param: value})
return queryset
2017-08-13 14:48:16 +00:00
2017-08-13 19:51:25 +00:00
class DiaperChangeViewSet(viewsets.ModelViewSet):
queryset = DiaperChange.objects.all()
serializer_class = DiaperChangeSerializer
2017-08-13 20:15:57 +00:00
def get_queryset(self):
queryset = DiaperChange.objects.all()
for param in ['baby__last_name', 'wet', 'solid', 'color']:
value = self.request.query_params.get(param, None)
if value is not None:
queryset = queryset.filter(**{param: value})
return queryset
2017-08-13 19:51:25 +00:00
2017-08-13 15:59:14 +00:00
class FeedingViewSet(viewsets.ModelViewSet):
queryset = Feeding.objects.all()
serializer_class = FeedingSerializer
2017-08-13 20:15:57 +00:00
def get_queryset(self):
queryset = Feeding.objects.all()
for param in ['baby__last_name', 'type', 'method']:
value = self.request.query_params.get(param, None)
if value is not None:
queryset = queryset.filter(**{param: value})
return queryset
2017-08-13 15:59:14 +00:00
2017-08-13 14:48:16 +00:00
class SleepViewSet(viewsets.ModelViewSet):
queryset = Sleep.objects.all()
serializer_class = SleepSerializer
2017-08-13 15:59:14 +00:00
2017-08-13 20:15:57 +00:00
def get_queryset(self):
queryset = Sleep.objects.all()
for param in ['baby__last_name']:
value = self.request.query_params.get(param, None)
if value is not None:
queryset = queryset.filter(**{param: value})
return queryset
2017-08-13 15:59:14 +00:00
2017-08-13 19:05:44 +00:00
class TummyTimeViewSet(viewsets.ModelViewSet):
queryset = TummyTime.objects.all()
serializer_class = TummyTimeSerializer
2017-08-13 20:15:57 +00:00
def get_queryset(self):
queryset = TummyTime.objects.all()
for param in ['baby__last_name']:
value = self.request.query_params.get(param, None)
if value is not None:
queryset = queryset.filter(**{param: value})
return queryset