Today I Learned
< 팀 프로젝트 3일차 >
- 메서드를 전반적으로 구현했고, 추가로 권한 처리랑 예외처리, 기획에 맞게 수정
- 리뷰작성 기능을 숙소를 예약한 작성자만 리뷰를 달 수있도록 기획하였기 때문에 숙소 상세페이지가 아닌 마이페이지에서 내 예약내역과 내 리뷰를 조회할 수 있게 하였고, 내가 예약한 숙소의 아이디를 받아서 post하도록 변경하였다.
- 숙소의 상세페이지에서 숙소의 상세정보를 불러오고 해당 숙소에대한 댓글들을 불러오게 하도록 기획
#view.py
class RoomDetail(APIView):
def get(self, request, room_id):
room_review = get_object_or_404(
Rooms, id=room_id) # room_id에 해당하는 숙소
serializer = RoomSerializer(room_review)
return Response(serializer.data, status=status.HTTP_200_OK)
#serializers.py
class AllReviewSerializer(serializers.ModelSerializer):
user = serializers.SerializerMethodField()
def get_user(self, obj):
return obj.user.username
class Meta:
model = Review
fields = '__all__'
class RoomSerializer(serializers.ModelSerializer):
review_set = AllReviewSerializer(many=True, read_only=True)
class Meta:
model = Rooms
fields = ['id', 'review_set', 'name', 'max_members',
'description', 'price']
뷰에서는 Roomserializer만을 사용하고 Roomserializer는 nestedserializer로 작성하였다.
+ 전반적인 프론트엔드 작업 완료하고 머지용 브랜치를 하나 더 만들어서 충돌을 해결하니 충돌이 적어져서 시간이 절약되었다.
비타민 하야트 호텔 화이팅 ..
'내일배움캠프 > 내일배움캠프 TIL' 카테고리의 다른 글
내일배움캠프 TIL 46일차 (0) | 2023.05.15 |
---|---|
내일배움캠프 TIL 45일차 (0) | 2023.05.13 |
내일배움캠프 TIL 43일 - 토스페이 API (1) | 2023.05.11 |
내일배움캠프 TIL 42일차 (0) | 2023.05.10 |
내일배움캠프 TIL 41일차 (4) | 2023.05.08 |