Ich habe eine APIView-Klasse zum Anzeigen aller Mieten und Buchung und Löschen usw. Jetzt möchte ich Suchfunktion, also habe ich versucht, DjangoFilterBackend zu verwenden, aber es funktioniert nicht. Ich sehe in der Dokumentation, es wurde mit ListAPIView verwendet, aber wie kann ich es in APIView verwenden.django filter auf APIView
class Rent(APIView):
"""
List all the rents if token is not provided else a token specific rent
"""
serializer_class = RentSerializer
filter_backends = (DjangoFilterBackend,)
filter_fields = ('city', 'place', 'property_category',)
search_fields = ('=city', '=place')
def get(self, request, token=None, format=None):
reply={}
try:
rents = Rental.objects.all()
if token:
rent = Rental.objects.get(token=token)
reply['data'] = self.serializer_class(rent).data
else:
reply['data'] = self.serializer_class(rents, many=True).data
except Rental.DoesNotExist:
return error.RequestedResourceNotFound().as_response()
except:
return error.UnknownError().as_response()
else:
return Response(reply, status.HTTP_200_OK)
, wenn ich die Miete mit den folgenden Parametern in der URL zu suchen, erhalte ich alle Mieten, stattdessen soll ich nur die Mieten erhalten, die in der Stadt Kathmandu und Ort koteshwor liegt
http://localhost:8000/api/v1/rents?city=Kathmandu&place=Koteshwor
Da der Zweck dieser Ansicht scheint, eine Liste von Objekten zurückzugeben, warum nicht einfach verwenden eine 'ListAPIView'? – ChidG
Ich habe einen Eintrag gemacht, aktualisiert, alles auf dieser Ansicht gelöscht und auch eine einzelne Miete oder die gesamte Miete wurde mit einer einzigen get-Funktion statt ListAPIView und RetrieveAPIView – Serenity
getan, so dass Sie die Funktionalität eines DRF repliziert haben Ansichtssatz – ChidG