# -*- coding: utf-8 -*- from __future__ import unicode_literals from rest_framework import viewsets from api.utils import filter_by_params from core.models import (Child, DiaperChange, Feeding, Note, Sleep, Timer, TummyTime) from .serializers import (ChildSerializer, DiaperChangeSerializer, FeedingSerializer, NoteSerializer, SleepSerializer, TimerSerializer, TummyTimeSerializer,) class ChildViewSet(viewsets.ModelViewSet): queryset = Child.objects.all() serializer_class = ChildSerializer lookup_field = 'slug' def get_queryset(self): params = ['first_name', 'last_name', 'slug'] return filter_by_params(self.request, Child, params) class DiaperChangeViewSet(viewsets.ModelViewSet): queryset = DiaperChange.objects.all() serializer_class = DiaperChangeSerializer def get_queryset(self): params = ['child__slug', 'wet', 'solid', 'color'] return filter_by_params(self.request, DiaperChange, params) class FeedingViewSet(viewsets.ModelViewSet): queryset = Feeding.objects.all() serializer_class = FeedingSerializer def get_queryset(self): params = ['child__slug', 'type', 'method', 'amount'] return filter_by_params(self.request, Feeding, params) class NoteViewSet(viewsets.ModelViewSet): queryset = Note.objects.all() serializer_class = NoteSerializer def get_queryset(self): params = ['child__slug'] return filter_by_params(self.request, Note, params) class SleepViewSet(viewsets.ModelViewSet): queryset = Sleep.objects.all() serializer_class = SleepSerializer def get_queryset(self): params = ['child__slug'] return filter_by_params(self.request, Sleep, params) class TimerViewSet(viewsets.ModelViewSet): queryset = Timer.objects.all() serializer_class = TimerSerializer def get_queryset(self): params = ['name', 'active', 'user'] return filter_by_params(self.request, Timer, params) class TummyTimeViewSet(viewsets.ModelViewSet): queryset = TummyTime.objects.all() serializer_class = TummyTimeSerializer def get_queryset(self): params = ['child__slug'] return filter_by_params(self.request, TummyTime, params)