>데이터 베이스 >MySQL 튜토리얼 >Django에서 '테이블이 존재하지 않습니다' 오류를 수정하는 방법은 무엇입니까?

Django에서 '테이블이 존재하지 않습니다' 오류를 수정하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-14 22:38:02951검색

How to Fix the

Django: "테이블이 존재하지 않습니다" 오류 해결

이 오류는 Django가 존재하지 않는 테이블에서 데이터베이스 작업을 수행하려고 할 때 발생합니다. 일반적으로 애플리케이션 모델의 수동 삭제 또는 변경으로 인해 더 오래 존재합니다.

문제 설명:

모델 관련 테이블을 삭제한 후 syncdb 명령이 시도합니다. 테이블을 다시 생성합니다. 그러나 테이블에 대한 모델이 여전히 models.py에 존재하기 때문에 Django는 테이블이 있을 것으로 예상했지만 누락된 것을 발견했습니다. 이로 인해 "테이블이 존재하지 않습니다" 오류가 발생합니다.

해결 방법:

  1. 테이블 삭제(이미 ).
  2. models.py에서 모델을 주석 처리합니다.
  3. 마이그레이션 실행(Django 버전 >= 1.7의 경우):

    • python Manage.py makemigrations
    • python Manage.py migration --fake

    OR

    스키마 마이그레이션 실행(Django 버전 < 1.7의 경우):

    • pythonmanage.pyschemamigration someapp --auto
    • pythonmanage.py migration someapp --fake
  4. models.py의 모델 주석.
  5. 마이그레이션 또는 스키마 마이그레이션 재실행 ( 이번에는 --fake 없이).

Django 버전의 예 >= 1.7:

# Comment out the model in models.py
# class feed(models.Model):
    # ...

# Execute migrations
python manage.py makemigrations
python manage.py migrate

# Comment in the model in models.py
# class feed(models.Model):
    # ...

# Re-execute migrations
python manage.py migrate

Django 버전의 예 < 1.7:

# Comment out the model in models.py
# class feed(models.Model):
    # ...

# Execute schema migration
python manage.py schemamigration someapp --auto
python manage.py migrate someapp --fake

# Comment in the model in models.py
# class feed(models.Model):
    # ...

# Re-execute schema migration
python manage.py migrate someapp

다음 단계에 따라 누락된 테이블을 다시 생성하고 "테이블이 존재하지 않습니다." 오류를 해결할 수 있습니다.

위 내용은 Django에서 '테이블이 존재하지 않습니다' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.