django-rest-framework
모델 객체 생성과 관련 하여 주어진 문서를 명확히하고 싶습니다 . 지금까지 이러한 이벤트를 처리하는 방법에 대해 세 가지 접근 방식이 있음을 발견했습니다.
Serializer의
create()
메서드입니다. 다음은 문서입니다.class CommentSerializer(serializers.Serializer): def create(self, validated_data): return Comment.objects.create(**validated_data)
ModelViewset
create()
메서드입니다. 선적 서류 비치class AccountViewSet(viewsets.ModelViewSet): queryset = Account.objects.all() serializer_class = AccountSerializer permission_classes = [IsAccountAdminOrReadOnly]
ModelViewset
perform_create()
메서드입니다. 선적 서류 비치class SnippetViewSet(viewsets.ModelViewSet): def perform_create(self, serializer): serializer.save(owner=self.request.user)
이 세 가지 접근 방식은 애플리케이션 환경에 따라 중요합니다.
하지만 언제 각 create() / perform_create()
기능 을 사용해야합니까 ??. 반면에 나는 modelviewset create()
과 serializer의 단일 포스트 요청에 대해 두 개의 create 메서드가 호출되었다는 계정을 발견했습니다 create()
.
누구나 자신의 지식을 공유하여 설명 할 수 있기를 바라며 이것이 제 개발 과정에 큰 도움이 될 것입니다.
create(self, validated_data)
시리얼 라이저에서, 그것은 데이터 유효성 검사 논리에 초점을 맞추고 있음을 의미? 그리고 그 이상은 주어진 serializer의 데이터를 응답으로 되 돌리는 데 도움이 될 수 있습니까?