.get_queryset ()을 재정의 할 때 오류를 올바르게 반환하는 방법은 무엇입니까?

솔랄

.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

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

모든 축을 올바르게 설정하는 데이터를 처음 플로팅 할 때 실행되는 matplotlib 함수의 이름은 무엇입니까?

보완 목록을 계산할 때 중복을 올바르게 처리하는 방법은 무엇입니까?

curl을 사용할 때 gzip으로 압축 된 페이지를 올바르게 처리하는 방법은 무엇입니까?

유형 제네릭을 사용할 때 클래스를 추상 클래스로 올바르게 캐스팅하는 방법은 무엇입니까?

Android : SharedPreferences.Editor에서 commit ()을 호출 할 때 Lint 경고- "Apply () 사용 고려"를 올바르게 억제하는 방법은 무엇입니까?

카피 바라에서 execute_script를 사용할 때 값을 반환하는 방법은 무엇입니까?

인수 및 반환 유형으로 numpy 배열을 갖는 함수를 올바르게 정의하는 방법은 무엇입니까?

Factory Boy를 사용할 때 모델 저장 기능을 재정의하는 방법은 무엇입니까?

plt.style.use ()를 사용할 때 matplotlib 속성을 재정의하는 방법은 무엇입니까?

VBA로 Excel 표를 정렬 할 때 열의 현재 주 셀을 참조하는 방법은 무엇입니까?

ImageMagick을 사용할 때 'Unable to annotate image'오류를 수정하는 방법은 무엇입니까?

복소수와 numpy를 다룰 때 파이썬에서 dtype을 올바르게 지정하는 방법은 무엇입니까?

UITableViewController 하위 클래스에 대해 init ()을 올바르게 재정의하는 방법은 무엇입니까?

requirejs간에 변수를 전달할 수 있도록 종속성 파일을 올바르게 설정하는 방법은 무엇입니까?

현재 언어 정의에 다른 언어를 올바르게 삽입하는 방법은 무엇입니까?

Java에서 함수를 올바르게 재정의하는 방법은 무엇입니까?

Interval Generator를 올바르게 설정하는 방법은 무엇입니까?

화면 크기를 조정할 때 플렉스 항목을 재정렬하는 방법은 무엇입니까?

동일한 항목이 있지만 임의의 위치에있는 배열을 비교할 때 true를 반환하는 방법은 무엇입니까?

상위 유형의 속성을 기반으로 중첩 유형의 필터로 OData를 올바르게 쿼리하는 방법은 무엇입니까?

grid-template-columns를 올바르게 재설정하는 방법은 무엇입니까?

JSDoc에서 자신의 클래스 유형을 올바르게 정의하는 방법은 무엇입니까?

반복 할 때 오프셋 만 설정하는 방법은 무엇입니까?

docker-compose.yml을 사용하여 마운트를 바인딩할 때 오류를 해결하는 방법은 무엇입니까?

Ionic Cordova Build Android를 실행할 때 찾을 수없는 AAPT 오류 전경 활동을 수정하는 방법은 무엇입니까?

Git을 사용할 때 Permission denied (publickey) 오류를 해결하는 방법은 무엇입니까?

루프 내에서 파일을 열 때 분할 오류를 피하는 방법은 무엇입니까?

템플릿을 사용하는 클래스에서 상속 할 때 메서드를 재정의하는 방법은 무엇입니까?

Python-클래스 'get'메서드를 사용할 때 다른 값을 반환하는 방법은 무엇입니까?

TOP Lista

CalienteEtiquetas

Archivo