Advertisement
agel122

Untitled

Sep 2nd, 2021
779
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.07 KB | None | 0 0
  1. #view.py:
  2. class AllData(viewsets.ModelViewSet):
  3.     queryset = Run.objects.all()
  4.     serializer_class = RunSerializer
  5.  
  6.     def get_queryset(self):
  7.         queryset = self.queryset
  8.         start_date = self.request.query_params.get('start_date')
  9.         end_date = self.request.query_params.get('end_date')
  10.         if start_date is not None and end_date is not None:
  11.             queryset = queryset.filter(Q(date__gte=start_date) & Q(date__lte=end_date))
  12.         return queryset
  13.  
  14.  
  15. #serializers.py:
  16. class RunSerializer(serializers.ModelSerializer):
  17.     class Meta:
  18.         model = Run
  19.         fields = '__all__'
  20.  
  21.  
  22. #models.py:
  23. class Run(models.Model):
  24.     date = models.DateField()
  25.     distance = models.DecimalField(max_digits=5, decimal_places=3)
  26.     time = models.SmallIntegerField()
  27.  
  28.     def __str__(self):
  29.         return str(self.distance)
  30.  
  31.  
  32. #urls.py:
  33. router = DefaultRouter()
  34. router.register('all_runs', AllData, basename='all_runs')
  35.  
  36. urlpatterns = [
  37.     path('average_data/', AverageData.as_view(), name='average_data'),
  38. ]
  39.  
  40. urlpatterns += router.urls
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement