12월에 끝냈어야 할, 아니 오늘은 이미 끝났어야 할 유뎀이 ㅠㅠ
생각보다 너무 어렵고!!!
게다가 거의 이태리말인 영어도 한 몫!
기본 한 10분 내외 영상을 한 시간씩 보는 것 같다 흫
목표는 3회 정도 돌리고,
해석본 같이 3회독하고
단원별로 블로깅하고,
디버깅 돌리기였는데, 흫
엄두도 못내고,
단원별로 task를 만들어서 task id로 branch를 따서 push 할 때마다 PR이라도 적으려고 했던 것들의 기록
git
을 자주 쓰게 되니
에러캐쳐로써 생각지 못한 에러를 많이 만나고!
깃 에러는 에러캐쳐에서 따로 정리하기로!
파트장님이 말씀하셨지,
나같은 사람 옆에 있으면 실력 많이 늘거라고
이상한 에러를 많이 만들어내서,,,,,흫
[DRF Serializer & Deserializer]
.data()
serializer.is_valid()
serializer.validated_data
serializer.save()
-> 객체로 저장 -> 쿼리셋으로 불러올 수 있다.[@api_view]
serializer.errors
(POST, PUT), try-except(.DoesNotExist
)[APIView Class]
[Serializers Validation]
[ModelSerializerClass]
serializers.Serializer
를 사용할 때 설정하였던 Models.py의 모든 필드와 create, update method를 모두 생략할 수 있다.serializers.SerializerMethodField
로 없는 컬럼과 값(함수로 정의)을 추가할 수 있음[Nested Relationships]
Foreign key로 연결되어 있는 모델을 serializer를 타고 해당 모델의 컬럼 값으로 추가
[The GenericAPIView Class & Mixins, Concrete View Classes]
generics.
-> queryset, serializer_class 설정generics.ListCreateAPIVIew
의 상속mixins.ListModelMixin
, mixins.CreateModelMixin
, generics.GenericAPIView
generics.CreateAPIView
(post) 의 상속mixins.CreateModelMixin
-> mixins.
self.perform_create(serializer)
-> serializer.save()
[Permissions]
has_permission
has_object_permission
[Pagination]
(Permission 설정하는 것과 같은 방법)
settings에 설정하는 방법
REST_FRAMEWORK = {'DEFAULT_PAGINATION_CLASS' : 'rest_framework.pagination.PageNumberPagination', 'PAGE_SIZE' : 3}
pagination.py
PageNumberPagination
상속받은 class 설정
error
UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list: <class 'ebooks.models.Ebook'> QuerySet.
-> queryset = Ebook.objects.all().order_by("-id")