강의

멘토링

로드맵

Hình ảnh hồ sơ của jay2022
jay2022

câu hỏi đã được viết

Hướng dẫn hoàn chỉnh về phát triển dịch vụ web Python/Django với React

Tạo API đăng ký thành viên

rest_framework.generics.CreateAPIView의 model 속성 유무

Đã giải quyết

Viết

·

273

0

안녕하세요.

rest_framework의 소스코드(https://github.com/encode/django-rest-framework/blob/0f39e0124d358b0098261f070175fa8e0359b739/rest_framework/generics.py#L188)를 보면 CreateAPIView 에는 model 속성이 없는 것으로 보입니다. 상위 클래스인 CreateModelMixin과 GenericAPIView를 살펴봐도 이러한 속성은 없는 것으로 보이는데요...

그래서 SignupView에 model 속성을 생략하고 signup을 실행해보았더니 문제가 없었습니다.

class SignupView(CreateAPIView):
    # model = get_user_model()
    serializer_class = SignupSerializer
    permission_class = [ AllowAny ]

모델 속성을 포함한 이유가 있으실까요?

reactpythondjangodocker

Câu trả lời 1

0

pyhub님의 프로필 이미지
pyhub
Người chia sẻ kiến thức

안녕하세요.

지적해주신 대로 살펴보니 APIView에서는 model 속성이 필요없는 것이 맞습니다. 제가 CreateView와 헷갈렸습니다. CreateView에서는 디폴트 템플릿 파일 경로 계산 등을 위해 model 지정이 필요할 수 있거든요. 습관적으로 넣어버렸네요.

APIView에서는 대개 queryset과 serializer_class 설정이 필요합니다. queryset 설정은 get_querset 호출이나 get_object 호출에서 사용되어지는 데요. CreateModelMixin에서는 get_queryset/get_object 호출없이 시리얼라이저에 의해서 유효성 검사 및 생성만 되어지니 queryset 설정은 없어도 동작합니다.

알려주셔서 감사드립니다. :-)

Hình ảnh hồ sơ của jay2022
jay2022

câu hỏi đã được viết

Đặt câu hỏi