내일배움캠프 65일차

김서영·2022년 12월 4일
0

내일배움캠프 TIL

목록 보기
67/85

1. 오늘 내가 한 일!

프로젝트 백엔드 완성 : 오늘을 프로젝트의 기초적인 백엔드 부분을 완성했다. 일단 필수 기능들을 추가해놓은 후 나중에 부가 기능들을 추가하기로 했다! 오늘 완성한 것 중에서 내가 맡은 파트는 상세페이지와 수정페이지 부분이었다!

2. 문무해알

- git pull 오류

- 문제점


깃허브에서 싱크포크를 pull 받지 않고 작업을 진행했을 경우!!

- 무엇을 몰랐는지(내가 한 시도)

commit을 하고 pull을 받으려고 git pull origin main을 하였는데 위 사진과 같은 오류??가 발생했다.

- 해결 방법

위의 사진은 오류가 아니라 힌트다!!
나는 merge를 진행해야 하니 git config pull.rebase false를 터미널이 입력 후 다시 git pull을 진행하면 된다!!
그 후 충돌이 발생한 부분에 대해 충돌 처리를 해주고 다시 커밋해서 작업을 push하면 된다!

- 알게 된 것

싱크를 맞추지 않고 작업을 했을 경우,
1. git commit을 진행(push 전까지만)
2. git pull origin branch
3. git config pull.rebase false
4. 다시 git pull 를 진행
5. 충돌이 발생한 파일 수정
6. 다시 commit하고 push 하기

- 장고 ORM 오류

- 문제점

- 무엇을 몰랐는지(내가 한 시도)

class MypageView(APIView):
   def get(self, request, user_id):
        user = User.objects.get(id=user_id)
        serializer = UserMypageSerializer(user)
        return Response(serializer.data, status=status.HTTP_200_OK) 

위의 코드에서 get 과 filter를 잘못 사용해서 사진과 같은 오류가 발생했다.

- 해결 방법

get은 조건에 해당하는 하나의 object을 1개의 열로 불러오고,

filter는 조건에 해당하는 여러개의 object을 묶어서 QuerySet이라는 형태로 불러온다.

그런데 우리는 get을 사용하면서 serializer에서 값을 받는 곳에 many=True를 넣어서 오류가 발생했다ㅎㅎ

- 알게 된 것

get을 사용할거면 무조건 하나의 값을 가져오는 것이기 때문에 many=True 사용 안됨!!!
filter를 사용할때는 여러개의 값을 가져오는 것이기 때문에 many=True 사용 가능!!!

profile
개발과 지식의 성장을 즐기는 개발자

0개의 댓글