200731 TIL

rang-dev·2020년 7월 31일
0

Wecode-TIL

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

200731 (금)

  • permission 설정
    • IsAdmin, IsAuthenticated로 permission 설정을 하려고했는데 도저히 권한 설정이 되지않아서 고생을 했다. 구글을 계속 뒤져서 하라는대로 했는데 되지 않았다. 그렇게 몇시간을 삽질을 하다가, class에다가 authentication_classes를 설정하면 제대로 작동을 하는것을 발견했다. 그말인즉슨, 내가 settings에 설정했었던 authentication_clasees가 작동하지 않고 있다는것. 그래서 settings를 뒤져보니 왠일... REST_FRAMEWORK로 global setting을 해둔게 마지막에 하나 더 있었던 것이다. 나는 위에다가 설정을 하고 다른 팀원은 가장 밑에 설정해서 merge하는 과정에서 합쳐졌는데 중복된 것을 발견하지 못했던 것이었다...😱 알고나니 별거 아닌걸로 몇시간을 헤맸지만 헤매면서 drf를 좀 더 샅샅이 알게 된 것 같았고 안되던 문제를 해결하니 기분이 좋았다.
  • 기사 배치 뷰 수정
    • 며칠간 계속 끙끙대던 기사 배치 view를 드디어 다시 짰다! 어제는 DeliveryInfoSerializer와 DeliveryInfoListSerializer를 사용해서 시도를 해봤는데 뭔가 원하는대로 흘러가지 않았다. 오늘에야 그 이유를 알게되었는데 나의 request.data는 하나의 serializer이고 그 데이터에 해당되는 쿼리가 여러개 발생한다. ListSerializer는 input으로 여러개의 serializer가 발생할때 이용하는 것이기 때문에 계속 삐걱댔던 것이다.
    • 또한 request.data를 validate하려면 Serializer에 model에 있는 fields뿐만 아니라 request.data로 들어오는 값인 zones도 추가해줘야한다.
    • 결국 view의 update함수에서 request.data에 해당하는 queryset을 얻어내고, serializer로 request.data의 유효성을 검사한뒤 유효하면 가져온 queryset의 deliveryman을 bulk_update한다. 아직 코드에서도 부족한 부분이 있고 validation도 더 강화해야하지만 이전보다 만족할만한 코드가 나와서 기분이 좋다.:)
  • SQL 첫걸음 2장: 데이터 검색
profile
지금 있는 곳에서, 내가 가진 것으로, 할 수 있는 일을 하기 🐢
post-custom-banner

0개의 댓글