본문 바로가기

분류 전체보기197

테스트 코드 작성 중 .save() 누락 1️⃣ 문제 테스트 코드 작성 중 cls.user = User.objects.create_user( "testuser@naver.com", "test_user", "password" ) cls.user_data = {"email": "testuser@naver.com", "password": "password"} cls.user.is_active = True user의 is_active를 True로 해주었으나 print를 찍어줬는데, user.is_active=true로 나오지만, login시에는 휴면계정이라고 나옴. print(self.user.is_active) # True self.user_access_token = self.client.post(reverse("login"), self.user_d.. 2023. 6. 26.
20230626 TIL - 테스트 코드 작성 중 .save() 누락 1️⃣ 테스트 코드 작성 중 .save() 누락 테스트 코드 작성 중 .save() 누락 1️⃣ 문제 테스트 코드 작성 중 cls.user = User.objects.create_user( "testuser@naver.com", "test_user", "password" ) cls.user_data = {"email": "testuser@naver.com", "password": "password"} cls.user.is_active = True user의 is_active를 True로 codemte.tistory.com 2023. 6. 26.
WIL 20230619 ~ 20230625 - 최종 프로젝트 주차 3 1️⃣ 이번 주 TIL 20230619 TIL - 특정 브랜치 클론하기 20230619 TIL - 특정 브랜치 클론하기 git clone -b {branch_name} --single-branch {repo url} git clone: Git 저장소를 복제하는 명령어, 명령어를 사용하면 원격 저장소의 모든 파일, 커밋 히스토리, 브랜치 등의 정보가 로컬 시스템으로 복사한다. -b { codemte.tistory.com 20230620 TIL - permission_classes = [A, B]와 [A & B]의 차이 20230620 TIL - permission_classes = [A, B]와 [A & B]의 차이 1️⃣ [DRF] permission_classes = [A, B]와 [A & B]의 차이.. 2023. 6. 26.
.get과 .filter의 반환값 차이에 따른 에러 CartView의 Post요청 중 이미 존재하는 상품이면 상품 개수만큼 추가로 더해주는 기능을 만들기 위해 cart = CartItem.objects.filter(product=request.data["product"]) 그런데 filter를 사용하면 값이 1개여도 queryset을 반환하여 코드가 생각대로 작동하지 않음. 따라서 객체를 반환하도록 하기 위해 filter를 get으로 변경. try: cart = CartItem.objects.get(product=request.data["product"]) except CartItem.DoesNotExist: ... DoesNotExist 에러 예외처리를 위해 try - except 구문을 사용 2023. 6. 23.
20230622 TIL - filter의 반환값 1️⃣ .get과 .filter의 반환값 차이에 따른 에러 .get과 .filter의 반환값 차이에 따른 에러 CartView의 Post요청 중 이미 존재하는 상품이면 상품 개수만큼 추가로 더해주는 기능을 만들기 위해 cart = CartItem.objects.filter(product=request.data["product"]) 그런데 filter를 사용하면 값이 1개여도 queryset을 codemte.tistory.com 2023. 6. 23.
20230621 TIL - fixture 1️⃣ [Django] fixtures [Django] fixtures 1️⃣ Django fixture Django fixture는 애플리케이션에서 사용하는 데이터를 JSON 형식으로 저장해두고, 나중에 사용할 수 있도록 하는 기능이다. 운영 서버에 배포하기 전에 초기 데이터 작업을 수행하 codemte.tistory.com 2023. 6. 22.
[Django] fixtures 1️⃣ Django fixture Django fixture는 애플리케이션에서 사용하는 데이터를 JSON 형식으로 저장해두고, 나중에 사용할 수 있도록 하는 기능이다. 운영 서버에 배포하기 전에 초기 데이터 작업을 수행하거나, 테스트 데이터를 생성하는 등의 목적으로 사용할 수 있다. 2️⃣ Django fixture의 주요 기능 fixture는 데이터 초기화나 테스트 데이터 생성 등에서 사용할 수 있다. 애플리케이션에서 사용하는 모든 모델을 대상으로, 데이터를 추출하고 로딩할 수 있다는 점에서 유용하게 사용할 수 있다. dumpdata와 loaddata는 Django의 스키마 변화에 대응하여 데이터를 추출하고 로딩할 수 있어, 데이터 마이그레이션 등에서도 사용할 수 있다. 3️⃣ dumpdata - Dj.. 2023. 6. 22.
[DRF] permission_classes = [A, B]와 [A & B]의 차이 1️⃣ 선요약 permission_classes = [A, B] permission_classes = [A & B] 결과적으로 둘은 거의 같다. 그러나 실행 방식에 차이가 있고, 상황에 따라 다르지만, 논리곱(AND)연산만을 수행할 경우, [A, B]의 방식이 일반적으로 조금 더 이점이 있다. 단, 두 조건을 중첩해서 OR과 비교할 경우(괄호를 통한 우선순위가 필요하다면), &를 사용하는 것에 이점이 있다. 2️⃣ comma(,)를 사용했을 때 DRF의 .check_permissions(…) 메서드를 확인해보자. def check_permissions(self, request): """ Check if the request should be permitted. Raises an appropriate ex.. 2023. 6. 21.
20230620 TIL - permission_classes = [A, B]와 [A & B]의 차이 1️⃣ [DRF] permission_classes = [A, B]와 [A & B]의 차이 [DRF] permission_classes = [A, B]와 [A & B]의 차이 1️⃣ 선요약 permission_classes = [A, B] permission_classes = [A & B] 결과적으로 둘은 거의 같다. 그러나 실행 방식에 차이가 있고, 상황에 따라 다르지만, [A, B]의 방식이 일반적으로 조금 더 이점이 있다. 2 codemte.tistory.com 2023. 6. 20.