object_254

метод get_object в сериализаторе для поиска связанного объекта по id в url

Dec 3rd, 2021
1,045
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class InvoiceView(PublicMixin, RetrieveAPIView):
  2.     serializer_class = PublicInvoiceSerializer
  3.     queryset = Invoice.objects.filter(is_paid=False).all()
  4.    
  5.     #поиск объекта
  6.     def get_object(self):
  7.         obj: Invoice = self.queryset.filter(booking_id=self.kwargs[self.lookup_field]).first()
  8.         if obj is None:
  9.             raise NotFound()
  10.  
  11.         if obj.booking.status_id == 'new':
  12.             return obj
  13.         else:
  14.             raise NotAcceptable()
  15.  
RAW Paste Data