2011-09-12 5 views
3

조명기를로드하기 전에 컨텐츠 유형을 재설정했습니다 (Problems with contenttypes when loading a fixture in Django 참조).[django] Error : contenttypes를 재설정 할 수 없습니다.

그러나 contenttypes 재설정 할 수없는이 :

...project_dir > manage.py reset contenttypes

You have requested a database reset. This will IRREVERSIBLY DESTROY any data for the "contenttypes" application in the database "my_database". Are you sure you want to do this?

Type 'yes' to continue, or 'no' to cancel: yes

Error: Error: contenttypes couldn't be reset. Possible reasons:

  • The database isn't running or isn't configured correctly.
  • At least one of the database tables doesn't exist.
  • The SQL was invalid.

Hint: Look at the output of 'django-admin.py sqlreset contenttypes'. That's the SQL this command wasn't able to run.

The full error: (1217, 'Cannot delete or update a parent row: a foreign key cons traint fails')

어떤 도움이 크게 감사합니다. 고맙습니다!

+0

'django-admin.py sqlreset contenttypes' 명령을 입력하여 오류가 무엇인지 확인할 수 있습니까? –

+0

이것에 대한 통찰력이 있으십니까? 문제를 해결할 수 있었습니까? –

답변

0

당신이 게시 한 질문에 answer가 또 있습니다 - natural keys을 조명기에 사용하십시오.

"부모 행을 삭제하거나 업데이트 할 수 없습니다 : 외래 키 cons traint가 실패합니다"라는 오류는 해당 행을 가리키는 다른 개체가 있으므로 콘텐츠 형식 행을 삭제할 수 없음을 의미합니다. 예 : 어떤 경우에도 비어 있지 않은 일반 외래 키 관계가있는 경우.

콘텐츠 유형 응용 프로그램을 정말로 재설정해야하는 경우이 작업에 필요한 SQL 명령을 가져 와서 CASCADE 문을 사용하도록 변경할 수 있습니다. 그러나 이것은이므로 내용 유형뿐만 아니라 내용 유형을 가리키는 다른 테이블의 행도 삭제하므로 위험합니다.

자연 키를 사용하여 조명기를 다시 만드는 것이 좋습니다.

관련 문제