2014-11-07 7 views
0

나는 CustomEvent 모델을 가지고 있으며, 쿼리 문자열을 활용하기 위해 get_queryset을 재정의하는 것을 포함하여 표준 API 끝점을 갖는 아주 간단한 일반 ListAPIView 클래스를 추가했습니다. 나는 또한 또한 CustomEvent 객체를 반환하는 매우 논리 무거운 엔드 포인트를 갖고 싶어, 기본 기능과 그 /events 엔드 포인트를 넘어Django REST Framework에서 특정 로직 무거운 API 끝점을 만드는 방법

class EventList(generics.ListAPIView): 
    serializer_class = EventSerializer 
    queryset = CustomEvent.objects.all() 

    def get_queryset(self): 
     # custom get_queryset here 
     pass 

있었으나 결국 쿼리 세트를 필터링 넘어 일부 애호가 로직 : 여기에 그 클래스입니다. 아마도 사용자가 노출되지 않은 백엔드에서 API에서 반환 된 데이터를 필터링하고 변환하는 일부 검사를 수행합니다. DRF와 같은 API 엔드 포인트를 설정하는 방법이 나에게 명확하지 않습니다 ...이를 수행하는 올바른 방법은 무엇입니까?

답변

0

Extra actions이 필요합니다. process_event라는 사용자 정의 엔드 포인트를 list_route 조치로 지정하고 복잡한보기를 정의 할 수 있습니다.

정의한 후/events/process_event에서 액세스 할 수 있습니다. 사용자 지정 작업에 사용자 지정 serializer를 지정하고 싶을 수도 있습니다. 제공하는 링크의 set_password 예제가 좋은 예입니다.

그런 일자리가 무거울 경우 셀러리를 사용하는 것이 좋습니다.

비슷한 질문 : Implementing RPC in RESTful API using DRF

관련 문제