Swagger와 연동 시Failed to load API definition

drf-swagger-error-screenshot

  • 케이스 1 : 시리얼라이저serializer에서 정확하지 않은 필드명을 입력 시 발생
    • 해결방안 :
      • 시리얼라이저 내부의 이름이 변경된 필드나 사용되지 않는 필드 변경/제거

serializer에서 업데이트 요청 시 id값이 들어오지 않는 현상

  • 현상 설명: PUT 또는 PATCH 를 하여 모델정보를 가지고 올 때 id데이터가 들어있지 않다
  • 해결 방안 : id항목은 기본적으로 read_only 항목이기에 id 항목을 시리얼라이저 내부에 한번 더 serializers.IntegerField()로 재정의 해주어야 정상적으로 동작한다

저장 시 'Manager isn't accessible via * instances' 에러가 발생하는 현상

  • 현상 설명: instance.objects.create(...) 시 상위 에러가 발생한다
  • 해결 방안: create 할 시 모델딴이 아닌 인스턴스 딴에서 create를 실행시켜 발생하는 에러. instance.objects.create(...) 가 아닌 Model.objects.create(...) 로 호출할 것