raise RuntimeError( RuntimeError: Model class backend.models.DjangoMigrations doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

이상해씨·2023년 9월 22일
0

에러

raise RuntimeError(

RuntimeError: Model class backend.models.DjangoMigrations doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.

상황

django에서 다시 migrate후
shell에서 데이터를 불러오기 위해
import 하던 중 발생

원인

project에 여러 app이 있을 경우, model이 어느 app에 해당하는 지 모를 때 발생

해결

1) 마이그레이션 제거
db 재설정을 위해 마이그레이션 디렉토리에서 모든 마이그레이션 파일을 제거

2) Model class에 app_label 추가 /models.py 파일에서 DjangoMigrations 모델 클래스 내에 app_label 속성을 추가

    # 모델 필드들
    
    class Meta:
        app_label = '<APP >'  
  		#애플리케이션 이름 지정.

3) INSTALLED_APPS 확인

  • settings.py에서 INSTALLED_APPS 설정에 'backend' 또는 해당 애플리케이션의 이름이 있는지 확인

4) 마이그레이션 다시 생성

  • 모든 마이그레이션 파일을 삭제한 후, 다음 명령을 사용하여 마이그레이션을 다시 생성
python manage.py makemigrations <APP명>

5)마이그레이션 실행

  • 마이그레이션을 다시 생성한 후, 마이그레이션을 실행
python manage.py migrate
profile
공부에는 끝이 없다

0개의 댓글