프로젝트 백엔드 완성 : 오늘을 프로젝트의 기초적인 백엔드 부분을 완성했다. 일단 필수 기능들을 추가해놓은 후 나중에 부가 기능들을 추가하기로 했다! 오늘 완성한 것 중에서 내가 맡은 파트는 상세페이지와 수정페이지 부분이었다!
깃허브에서 싱크포크를 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 하기
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 사용 가능!!!