🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

장고 primary key 오류 메시지

22.02.25 12:18 작성 조회수 405

0

강사님 안녕하세요!
 
제가 장고를 실행하던 도중
 
계속 이런 오류 메시지가 출력이 되는것을 확인했습니다..
 
이 경우 common.py 내용을 수정해야 하는걸까요?
 

답변 1

답변을 작성해보세요.

0

안녕하세요.

장고 3.2 부터 auto field의 타입을 지정할 수 있는 기능이 생겼습니다. auto field는 장고 모델에서 디폴트 pk 필드로서 사용이 됩니다. 3.2 이전에서는 django.db.models.AutoField 였으며, 3.2 부터는 django.db.models.BigAutoField가 됩니다.

관련 공식문서 : https://docs.djangoproject.com/ko/4.0/releases/3.2/#customizing-type-of-auto-created-primary-keys

아마도 장고 3.2 이전 버전으로 현재 프로젝트를 생성하셨고, 지금 서버 구동 시에는 장고 3.2 이상을 설치하신 듯 보입니다. 강의에서는 3.0.x 기준으로 설명드리고 있습니다.

장고 3.2 이상에서는 프로젝트를 생성하시면 settings에 DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField" 설정이 자동으로 추가됩니다.

그런데 장고 3.2 이전에 생성하신 각종 모델들은 django.db.models.AutoField 타입으로 되어있습니다. BigAutoField 타입으로 지정하시면 추가적으로 타입 변경을 위한 DB 마이그레이션이 필요합니다.

장고 3.2 이상을 쓰신다면

settings에 DEFAULT_AUTO_FIELD = "django.db.models.AutoField" 설정을 추가하고, 별도의 DB마이그레이션없이 프로젝트를 진행하다가 BigAutoField가 필요한 시점에 설정을 변경해서 DB마이그레이션을 수행하셔도 되구요.

혹은 지금 BigAutoField로 변경하셔서 DB마이그레이션을 수행하셔야 됩니다.

그리고, 질문 제목에는 본 질문을 요약해서 써주시면, 다른 분들에게도 본 질문이 도움이 될 수 있습니다. 부탁드리겠습니다.

화이팅입니다. :-)

채널톡 아이콘