Advertisement
Guest User

Untitled

a guest
Apr 19th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. class CustomTripFilter(filters.Filter):
  2. def filter(self, qs, value):
  3. if value in EMPTY_VALUES:
  4. return qs
  5.  
  6. try:
  7. value = int(value)
  8. except ValueError:
  9. raise ValidationError('Trip filter must be integer.')
  10.  
  11. trip = Trip.objects.get(pk=value)
  12.  
  13. qs = qs.filter(vehicle_id=trip.vehicle_id)
  14.  
  15. if trip.start_location is None:
  16. raise ValidationError('Trip is not valid.')
  17.  
  18. qs = qs.filter(pk__gte=trip.start_location.pk)
  19.  
  20. if trip.end_location is not None:
  21. qs = qs.filter(pk__lte=trip.end_location.pk)
  22.  
  23. return qs
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement