

리뷰는 상품을 사야만 쓸 수 있어서 이번 코드는 내 머리속으로 구현을 해 보았다!
일단,
별점이 있고, 제목이 있고, 내용이 있다.
아이디를 받고 create_at이 있는것 같다.
상품을 구매하고 별점을 쓰게 하려면, 일단 다음의 순서가 필요할 것 같다.
review와 order를 이어주는 matching_review테이블을 만들어서 동시에 create해준다.)matching_review에 연결된 review가 있다면 리뷰를 못쓰게 한다.이것을 바탕으로 POST를 중심으로 코드를 짜보도록 한다.

request.user를 통해 user_id값을 받고 그것을 list comprehension을 통해 Json으로 보내준다.
일단 matching_review테이블에 product_id와 order_id를 가지고 있는 데이터가 있는지 확인한 후 없다면 review를 쓰게 한다.
두가지 상황을 막기 위해서다.
review에 글을 썼는데, matching_review에 안쓰였다면, review를 또 쓸 수 있게 한다.review를 안썬느데 matching_review에 데이터가 있다면 review를 쓰지도 못한다.그레서 두 테이블에 모두 데이터가 정상적으로 등록이 될때만 데이터가 등록되도록 설정을 한다.

리뷰를 보여주는 목록은 상품 디테일 페이지에서도 보여줄 수 있지만,
My Page에서도 연결시켜 줄 수 있기에 코드의 재사용을 줄이려 함수로 선언하고 사용했다.
오호 transaction 어떻게 사용했는지 궁금했는데 잘 배우고 갑니다~ 홧팅~