|
@@ -1,4 +1,6 @@
|
|
-from django.views.generic.list import ListView
|
|
|
|
|
|
+import logging
|
|
|
|
+from decimal import Decimal
|
|
|
|
+
|
|
from rest_framework import viewsets
|
|
from rest_framework import viewsets
|
|
|
|
|
|
from suitablephones.models import Bluetooth, Camera, Device
|
|
from suitablephones.models import Bluetooth, Camera, Device
|
|
@@ -6,23 +8,21 @@ from suitablephones.serializers import (BluetoothSerializer, CameraSerializer,
|
|
DeviceSerializer)
|
|
DeviceSerializer)
|
|
|
|
|
|
|
|
|
|
-class SuitablePhones(ListView):
|
|
|
|
- model = Device
|
|
|
|
-
|
|
|
|
- def get_request_camera(self):
|
|
|
|
- return self.request.GET.get("camera")
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- def get_queryset(self):
|
|
|
|
- camera = self.get_request_camera()
|
|
|
|
- return self.model.objects.filter(camera=camera)
|
|
|
|
-
|
|
|
|
-
|
|
|
|
# ViewSets define the view behavior.
|
|
# ViewSets define the view behavior.
|
|
class DeviceViewSet(viewsets.ModelViewSet):
|
|
class DeviceViewSet(viewsets.ModelViewSet):
|
|
queryset = Device.objects.all()
|
|
queryset = Device.objects.all()
|
|
serializer_class = DeviceSerializer
|
|
serializer_class = DeviceSerializer
|
|
|
|
|
|
|
|
+ def get_queryset(self):
|
|
|
|
+ megapixel = self.request.query_params.get('megapixel')
|
|
|
|
+ if megapixel:
|
|
|
|
+ self.queryset = self.queryset.filter(cameras__megapixel__lt=Decimal(megapixel))
|
|
|
|
+ return self.queryset
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ def get_cameras(self):
|
|
|
|
+ return self.request.GET.getlist("cameras")
|
|
|
|
+
|
|
|
|
|
|
class BluetoothViewSet(viewsets.ModelViewSet):
|
|
class BluetoothViewSet(viewsets.ModelViewSet):
|
|
queryset = Bluetooth.objects.all()
|
|
queryset = Bluetooth.objects.all()
|