백엔드 중심으로 서술되었음

위코드 1차 프로젝트 3일차

1. 스탠드업 미팅

  • 백/프론트 상황 공유
  • 백엔드 : 모델링 검토 대기(어제 정리한 질문사항 공유)
  • 오늘 계획 : 모델링 질문 및 검토 완료, models.py 완성
  • 도움이 필요한 것 : 질문 사항 다수

2. 모델링 리뷰2

  1. order 테이블 검토

-> 전반적으로 이상 없었음. user_id만 carts에서 orders로 이동

  1. 장바구니에 있는 내용 중 선택해서 몇 개만 구매할 경우는?

-> 어짜피 order_status로 확인이 가능. 남겨진 하나는 새로운 order_id를 생성

  1. 장바구니에 있는 내용을 삭제 했을 때는?

-> delete

  1. (comment 테이블과 관련) order 넘버와 리뷰의 상관관계
  • 주문 내역이 있는 사용자가 리뷰를 써야 하는데 어떻게 해야 하는지?
    ->
    이와 같이 해결. 유저, product, order id로 확인 후 리뷰 작성.

3. 모델링 리뷰 중 과제

문제 : 장바구니에서 product를 get할 때 views.py에서 어떤 로직으로 확인할 수 있는가?

  • 여러 조건 : 신규 회원일때는? 신규 회원이 아닐 때는?
    일단 신규 회원이 아니라고 가정할 때,
  1. orders에서 user_id & order_status_id로 필터링 한다.
  2. cart에서 order_id 를 찾아 product를 찾아온다.
  3. 신규유저라면? : 알 수 없으므로 null 값을 낸다.(에러)
  4. 결론 :order_status_id로 구매 상황을 확인할 수 있다.

4. 모델링 ERD 완성 및 models.py 완성

새로 알게 된 것

  1. nullable 한 것 모두 null=True 체크
  2. 다른 앱에서 모델 가져올 때
<앱 이름>.<model명>
ex. 'user.User'
  1. class Meta: 에 unique together 넣기
    왜? : 각 값의 쌍이 다른 값의 쌍으로 추가되지 않게.
    ex. product_id, order_id, quantity가 있는데 이 때 물건과 주문이 똑같은 것이 늘어날 때 quantity가 늘어야지 한 raw가 또 생기지 않게 하는 것.

  2. many to many 관계 명확히 설정(User&Coupon, Coupon&SubCategory, Product&Option) ; 표현법 익숙해지기

ex.
User(models.Model)
user_coupons  = models.Manytomany('Coupon', through='user_coupons')
....
  1. 이번 모델링에서 3개가 엮인 것 해결하기
  • 간단히 해결 : sub_category는 그냥 편의를 위해 가져온 것이므로 관계라기 보다는 나열에 가까움. 그래서 진짜 many to many는 product & option 이다.
  1. recursive many-to-many 관계 설정(Product 안에 recommendation instance 지정, symmetrical=True로 지정하여 양방향 관계 설정) ; 상품 자동 추천, 상품이 추천 되는 원리는 친구가 되는 과정이라 생각하기.
  • 위스타 언팔/팔로의 반대로 True를 놔주기.
    -> 이해 안 갈 경우 추후 pull 받는 models.py 꼭 참고.

5. 내일 할 일

  • 스탠딩 미팅
  • 역할 분담으로 로그인 view 작성
  • 빠르면 화면 구성 views.py 작성

학습 중 프론트엔드와 논의한 점

  • 회원가입 시 아이디 중복체크 논의(중복 버튼 or 타자하자마자 체크해주는 것 데이터 차이 있는지 -> 특이사항 없음)
  • 토요일 미팅 확인
profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

2개의 댓글

comment-user-thumbnail
2021년 3월 17일

다민님 velog로 보충 수업 듣는 기분이예요! 정성스런 블로그엔 추천이 인지상정🙌

1개의 답글