프론트에서 날짜, 구+동(여러개 가능), 배달기사 정보를 보내주면 해당 구동을 포함하는 주소에 연결된 주문건수중 지정된 날짜에 해당하는 주문 건수에 기사 id룰 채운다.
여기서 이중 for문이 나오는데, 시리얼라이저를 어떻게 적용할지 모르겠어서 일단 APIView로 설정했다. 이중 for문은 나중에 쿼리문이 딱 나오는게 아니라 돌면서 쿼리가 바뀌니까.....😭
생각해보면 get이 제일 쉬워서 그냥 있는 테이블 보여주는 건 geniric view의 ListView로 어렵지않게 했는데(SlugField에서 조금 해멘정도..?) create 나 update는 제대로 이해를 못한 상태였나보다.
퇴근하고 위코드 가서 민혁님께 질문을 했더니 이럴땐 Listserializer를 사용하면 된다고하셨고 create함수를 오버라이드 해야한다고 하셨다. 소스코드를 까봐도 잘 감이안온다 ㅠㅠ 이렇게 내 파이썬 실력이 뽀록나는구나....하하ㅏ.. 그래도 민혁님이 도와주셔서 어떤식으로 하는지는 알았으니 제대로 분석해봐야겠다.......
그 이중 for문을 사용해서 APIView를 썼을때는 간단했는데 괜히 serializer를 쓰면서 더 복잡해진거같아서 어떤게 장점인지 물어봤더니 drf 는 validation에 아주 큰 장점이 있다고 하셨다. 어떤 값이 들어오든 간단하게 벨리데이션이 가능한것이다. 지금까지 한 프로젝트에서는 validation을 빡세게 안했어서 validation의 중요성을 미처 깨닫지 못했었다. 로그인, 회원가입에서 했던 정도의 validation이 모든 필드에 필요한거겠지..?
오늘 drf에서 계속 헤매고나서 유데미 강의 하나를 더 결제하기로했닼ㅋㅋㅋㅋ역시 3시간 들어서는 역부족이었어..😂😂😂😂😂