Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class BookingFilter(django_filters.FilterSet):
- time_start = django_filters.DateFilter(field_name='time_start', lookup_expr='gte')
- time_end = EndFilter(field_name='time_end', lookup_expr='lte')
- guest = django_filters.ModelChoiceFilter(field_name='guest', queryset=Guest.objects.all())
- additional_guests = django_filters.ModelMultipleChoiceFilter('additional_guests', queryset=Guest.objects.all())
- class Meta:
- model = Booking
- fields = ['time_start', 'time_end', 'guest', 'additional_guests']
- class BookingViewSet(viewsets.ModelViewSet):
- queryset = Booking.objects.all().select_related(
- 'table', 'guest', 'status').prefetch_related(
- 'invoices', 'additional_tables', 'additional_guests')
- permission_classes = [permissions.DjangoModelPermissions]
- filter_backends = [DjangoFilterBackend, filters.SearchFilter]
- filter_class = BookingFilter
- search_fields = ['guest__name', 'guest__phone', 'guest__email']
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement