인코스런 2기

커머스 프로젝트 4주차 WIL

B1001101 2022. 7. 10. 23:50

DRF

perform_create()

 

lookup_field

 

User 모델 username 필드 verbose_name 설정

 

Django에서 request header 값 가져오는 방법

 

get_object()

 

Database

Transaction

 

Migration 에러 났을 때 해결방법

  • makemigrations부터 에러가 나서 아예 migration 파일을 생성할 수 없는 경우: migration보다 먼저 실행되는 top level query가 있는지 확인
  • 다른 앱의 테이블에 종속되어 있어서 충돌이 일어나는 경우: 앱 별로 migration 진행
    • 먼저 생성되어야 하는 앱부터 순서대로 실행
  • migration 적용 상태 확인하는 커맨드: django manage.py showmigrations
    • 이미 migrate된 항목을 취소하고 싶은 경우: 데이터베이스에서 django_migrations 테이블을 찾아서 직접 기록 삭제
    • https://daeguowl.tistory.com/138

 

PostgreSQL 연동

 

Admin

Admin 페이지 custom filter

 

Admin 페이지 검색기능

  • search_fields에 검색에 포함할 필드를 추가
  • '=필드명': 정확히 일치, '^필드명': 앞에서부터 일치
  • Related Field로 검색: '필드명__하위필드명'으로 접근 ex) user__email

 

Calculated Field에 Boolean 아이콘 적용

 

Excel 파일로 내보내기

 

get_object_or_404()

 

기타

주문번호 생성하기

 

프론트엔드(React)에서 백엔드(Django)로 이미지 보내는 방법

  • FormData 형태로 전송
    • 이미지 파일은 request.FILE에 담겨서 전송되므로 Serializer 필드가 없어도 받을 수 있음
    • 여러 이미지를 한 번에 보내려면 같은 키값을 사용하면 리스트 형태로 전송됨
  • 인코딩하여 String 형태로 전송
  • 프론트에서 AWS S3에 업로드한 후 URL 주소만 전송 (presigned url 사용)