.get_queryset ()을 재정 의하여 쿼리 매개 변수를 다시 필터링 할 수있는 DRF 문서를 읽었습니다. 필터가 잘못된 경우 반환 할 항목과 오류 메시지를 반환 할 위치에 대한 모범 사례를 찾고 있습니다.
내가 언급 한 문서는 여기에 있으며 아래 소스 코드를 포함합니다.
class PurchaseList(generics.ListAPIView):
serializer_class = PurchaseSerializer
def get_queryset(self):
"""
Optionally restricts the returned purchases to a given user,
by filtering against a `username` query parameter in the URL.
"""
queryset = Purchase.objects.all()
username = self.request.query_params.get('username', None)
if username is not None:
queryset = queryset.filter(purchaser__username=username)
return queryset
도와 주셔서 감사합니다
당신은 이것을 할 수 있습니다
from rest_framework import status
class PurchaseList(generics.ListAPIView):
serializer_class = PurchaseSerializer
def get_queryset(self):
try:
"""
Optionally restricts the returned purchases to a given user,
by filtering against a username query parameter in the URL.
"""
queryset = Purchase.objects.all()
username = self.request.query_params.get('username', None)
if username is not None:
queryset = queryset.filter(purchaser__username=username)
return queryset
except:
return None
def get(self, request):
try:
data=view_serializer(self.get_queryset(),many=True).data
context = {
"data" : data,
"message" : "Contents returned successfully",
"success" : True
}
return Response(context, status=status.HTTP_200_OK)
except Exception as error:
context = {'error': str(error), 'success': "false", 'message': 'Failed To Get contents.'}
return Response(context, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras