200728 TIL

rang-dev·2020년 7월 28일
0

Wecode-TIL

목록 보기
63/79

200728 (화)

  • 로그인 문제
    • 어제 로그인 문제를 해결했다고 생각했는데 아니었다. check_password를 오버라이드해도 내가 createuser로 user를 생성하면 해시된 값이 저장되서 raw_password를 바로 비교하는 새로운 check_password가 존재하는한 로그인이 되지 않았다. 결국 어떻게든지 password에 대해서 충돌이 발생했고 실제 db(실제 회원 정보)가 들어오면 아마 해시된 비밀번호가 저장되어있을것이기 때문에 check_password를 오버라이드하지 않아도 비밀번호를 해시하여 저장된 비밀번호와 맞는지 비교할것이다. 그래서 일단은 임시방편으로 createuser로 user를 생성한뒤 암호화되어 저장된 비밀번호를 수동으로 변경하여 사용하고 있다..💦
  • 기사님 배치 serializers, view 짜기
    • 프론트에서 보내준 날짜에 맞는 배송지(구+동)를 중복되지 않게 리스트로 보내주어야한다.
    • 날짜를 같이 보내주어야 한다고 간단하게 생각을해서 일단 SlugRelatedField를 써서 Address와 역참조 관계에 있는 delivey_info에서 delivery_date가 함께 나타나도록 했었는데 생각해보니 날짜에 따른 리스트가 나타나려면 프론트에서 보내준 날짜로 filter를 하는것이 맞다. 그래도 SlugRelatedField를 역참조 관계에서 어떻게 사용할 수 있는지 실제로 나타내 볼 수 있어서 좋았다.
    • 날짜로 filter된 객체들 중 구+동이 겹치지 않게 distinct를 적용하려고 했는데 필드로 distict를 적용하려면 PostgeresSQL만 가능하다고 한다. 하지만 난 MariaDB......ㅠㅠㅠ get_queryset함수를 적용해서 gu_dong이 겹치지 않도록 하나씩 address 객체들을 뽑아내려고 했었는데 그렇게 되면 사실 serializer가 필요가 없고 그냥 배송 목록만 list로 보내주면 되게된다. 그래서 APIView로 리스트만 보냈다. serializer를 사용하다가 갑자기 사용을 안하니 내가 DRF를 제대로 쓰고있는게 맞나 걱정은 되었지만 뭐 APIView도 DRF 모듈중 하나니까...!
    • 배송할 수 있는 기사님의 정보를 serializer를 적용하여 보내주기
profile
지금 있는 곳에서, 내가 가진 것으로, 할 수 있는 일을 하기 🐢

0개의 댓글