가져 오기가 필요하다는 것을 알고 있지만 어디에서 가져 오겠습니까?글로벌 이름 'get_serializer_class'가 정의되지 않았습니다.
from rest_framework import get_serializer_class
위의 코드는 작동하지 않으며 함수를 가져 오는 위치를 설명하는 곳에서는 어디에도 문서가 표시되지 않습니다.
class CalendarDetailView(generics.RetrieveUpdateDestroyAPIView):
def get_serializer_class(self):
if self.request.method == 'GET':
serializer_class = CalendarGETSerializer
elif self.request.method == 'PUT':
serializer_class = CalendarPUTSerializer
return serializer_class
def get(self, request, format=None):
evntname = self.request.GET.get('name')
queryset = Evntmst.objects.filter(evntmst_name=evntname)
serializer = get_serializer_class(queryset)
if queryset:
return Response(serializer.data)
else:
raise Http404
def put(self, request, format=None):
serializer = get_serializer_class(data=request.DATA)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
편집 - - 참고로
이 오류를주고 내보기 여기에 역 추적이
Traceback:
File "D:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response
112. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "D:\Python27\lib\site-packages\django\views\generic\base.py" in view
69. return self.dispatch(request, *args, **kwargs)
File "D:\Python27\lib\site-packages\django\views\decorators\csrf.py" in wrapped_view
57. return view_func(*args, **kwargs)
File "D:\Python27\lib\site-packages\rest_framework\views.py" in dispatch
400. response = self.handle_exception(exc)
File "D:\Python27\lib\site-packages\rest_framework\views.py" in dispatch
397. response = handler(request, *args, **kwargs)
File "D:\Tidal\API\views.py" in get
398. serializer = get_serializer_class(queryset)
Exception Type: NameError at /deploy/calendartest/
Exception Value: global name 'get_serializer_class' is not defined
클래스 메소드이므로'self.get_serializer_class'가 아니어야합니까 ?? – karthikr