Django "테이블이 존재하지 않습니다" 오류
manage.py syncdb를 사용하여 데이터베이스 동기화 프로세스 중에 오류 메시지가 나타날 수 있습니다. "테이블 'someapp.feed'가 존재하지 않습니다." 이 오류는 특정 앱과 관련된 테이블을 삭제한 후 데이터베이스 동기화를 시도할 때 발생합니다.
이 문제를 해결하려면 다음 단계를 따르세요.
-
테이블을 영구적으로 삭제합니다. 테이블을 영구적으로 삭제했는지 확인합니다. 이 단계는 잠재적인 데이터 무결성 문제를 방지하는 데 매우 중요합니다.
-
models.py에서 모델을 주석 처리합니다. models.py에서 삭제된 테이블에 해당하는 모델 정의를 임시로 주석 처리합니다. . 이렇게 하면 Django가 동기화 프로세스 중에 테이블을 생성하려고 시도하는 것을 방지할 수 있습니다.
-
--fake 옵션을 사용하여 마이그레이션을 실행하세요. Django 버전에 따라 다음 명령 중 하나를 사용하세요. :
- Django >= 1.7:
pythonmanage.py makemigrations
pythonmanage.py migration --fake
- Django < 1.7:
pythonmanage.pyschemamigration someapp --auto
pythonmanage.py migration someapp --fake
--fake 옵션을 사용하면 Django는 실제로 수정하지 않고도 필요한 마이그레이션을 생성할 수 있습니다.
-
모델의 주석 처리를 해제하고 다시 마이그레이션하세요. models.py에서 모델 정의의 주석 처리를 해제하고 --fake 옵션 없이 마이그레이션을 다시 실행하세요. 그러면 테이블이 생성되고 이에 따라 데이터베이스 스키마가 업데이트됩니다.
위 내용은 Django 데이터베이스 동기화 중에 '테이블이 존재하지 않습니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!