AI Store에서 AI코딩으로 만들어진 앱을 만나보세요!
지금 바로 방문하기

Django 프로젝트 진행: DRF를 활용한 e-commerce API 구축

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

Django 및 Django REST Framework(DRF)를 사용한 웹 API 개발에 관심 있는 개발자. 중급 이상의 Django 경험을 가진 개발자에게 유용하며, 마이그레이션 문제 해결 방법을 학습하고자 하는 경우에도 적합.

핵심 요약

  • Category 모델 생성 및 Product 모델에 외래키 필드 추가하여 관계 정의
  • DRF Serializer를 통해 Category와 Product의 중첩된 데이터 구조를 API로 노출
  • 데이터베이스 마이그레이션 과정에서 기존 Product 데이터와 Category 데이터 불일치 문제 해결

섹션별 세부 요약

1. 모델 정의 및 마이그레이션

  • Category 모델 생성 후 makemigrations 명령 실행
  • Product 모델category = models.ForeignKey(Category) 필드 추가
  • 기존 Product 데이터와 Category 데이터 불일치로 인한 마이그레이션 오류 발생

2. Serializer 구현

  • CategorySerializerget_product_count 메서드 추가하여 카테고리별 상품 수 계산
  • ProductSerializer에서 CategorySerializer 중첩 구조로 카테고리 정보 노출

3. API 및 Django Admin 설정

  • Category CRUD API 구현 및 Django Admin에서 Product/Category 모델 등록
  • createsuperuser 명령으로 관리자 계정 생성 후 Django Admin 인터페이스 사용

4. 마이그레이션 문제 해결

  • 기존 마이그레이션 파일 삭제 후 category 외래키 필드 임시 주석 처리
  • Shell 명령어를 통해 Category 데이터 직접 삽입
  • 외래키 필드 복원 후 마이그레이션 재실행 시 기존 Product 데이터에 대한 category 필드 기본값 설정

결론

  • 마이그레이션 오류 해결 시 기존 마이그레이션 파일 삭제Shell 명령어를 통한 데이터 삽입을 우선 고려
  • Django Admin에서 모델 관리 및 Serializer 중첩 구조는 API 개발 시 필수적인 단계
  • 다음 단계로 사용자 인증(User Authentication) 구현 예정