200801 TIL

rang-dev·2020년 8월 1일
0

Wecode-TIL

목록 보기
67/79
post-custom-banner

200801 (토)

  • 배송 정보 View 작성하기
    • 오늘은 로그인한 배송 기사님이 자신의 배송정보를 확인할 수 있는 View를 작성했다.
    • 쿼리스트링으로 date가 오지 않으면 무조건 오늘 날짜로 검색하도록 만들었다.
    • 배송기사님의 id와 날짜로 filter를 한 다음 그 queryset을 serializer를 통해 나타내면 되는 것이라 간단하게 생각했다. 하지만 DeliveryInfoSerializer에는 customer id가 리스트로 들어가있다. 원래는 일대다로 관계를 설정하면 편하지만 사수님께서 배송에 관련된 데이터에 포커스를 맞추는 거라 customer를 직접 연결하지 않았다고 말씀하신 것 같다.
    • 오늘 겪었던 문제는 DeliveryInfoSerializer에서 customer의 id 리스트를 CustomerSerializer를 통해서 목록으로 함께 내보내주는 것. 일단 .filter(id__in = customer_ids)로 쿼리셋은 만들었는데 어떻게 CustomerSerializer를 사용해서 해당하는 customer의 정보들을 함께 내보낼것인가가 문제였다. queryset을 serializer를 통해 결과를 받아왔을때는 ListView를 썼었으니까 거기에 관련된 함수들을 오버라이드해야되나..?하면서 여러 시도를 해보았지만 다 실패 ....(아직 내가 view와 serializer를 제대로 구분하고 있지 못한 것 같다😭) 그렇게 계속 해메다가 구글링을 해보니 그냥 Serializer(queryset, many=True)만 하면 쿼리셋에 대한 serializer가 예쁘게 나오더라...하하하하 며칠간 머리 쥐어 뜯으면서 나름 발전해가고있다고 생각했는데 아직 멀었다 멀었어🤦🏻‍♀️
    • 저번에 many=True로 하면 ListSerialzier가 실행되는 것은 알고 있었는데 따로 해당 모델의 ListSerializer가 선언 되어있지 않아도 된다는 것은 이번에 하면서 또 알게되었다. 만약 따로 추가할 기능이 있다면 따로 추가해야겠지...?
  • 패스트캠퍼스 알고리즘 강의 START!
    • 오늘은 가볍게 OT와 함께 Jupyter Notebook 설치 💫
  • SQL 첫걸음
    • 3장 정렬과 연산 실습 GOGOGO
profile
지금 있는 곳에서, 내가 가진 것으로, 할 수 있는 일을 하기 🐢
post-custom-banner

0개의 댓글