seminar-2020
seminar-2020 copied to clipboard
Assignment 2 하면서 배운 것들
수십 시간 동안 백엔드 과제를 진행하며 배운 것들이 많아 까먹기 전에 공유하면 좋을까 해서 issue를 파보았습니다. comment로도 tip 공유해주시면 감사하겠습니다!
- serializer에서 serialize / deserialize
- get_{field} 함수 사용법
- serialize 시에
many=True
option (list에 넣어둔 후에 serialize했음)context['request']
란?
- Routing for extra actions
ex.
# DELETE /api/v1/seminar/{seminar_id}/user/
- object 정확히 짚어내기 (feat. get vs filter의 차이)
- Overriding 제대로 공부하기
- 얘는 눈으로는 어느 정도 파악할 수 있지만 직접 활용해서 더 익숙해지자.
- 항상 서버 개발자의 마인드로 임하기 (앞으로도 계속)
- 최대한 db를 덜 건드리는 방향으로 사고하기
- 500 에러는 모두 박멸하기.
- save(), related_name() 활용하여 object 최대한 효율적으로 호출하기
- migration 할 때 생각 또 생각하기
- error에 익숙해지기
- runserver error 천천히 읽으면서 에러 상황 파악하기
- print로 object, 구문, 함수 return값 찍어보기
- 기타 함수들
isoformat(timespec='minutes')
request.data.get('username')
timezone.now()
(from django.utils import timezone)model_to_dict
(쓰지 않았지만 어떤 경우에서는 유용할 듯)get_object_or_404(Model, field, ...)
(try except ObjectDoesNotExist 안 써도 404 반환)