2010-02-26 3 views
0

models.py에서 일부 모델을 추가했으며 텍스트 필드에 wysiwyg 편집기를 사용하기 위해 관리자 클래스를 추가하려고합니다.
글쎄, 장고 자체가 마이그레이션을 지원하지 않고 나는 South를 사용했음을 알고 있지만, 작동하지 않습니다.
남쪽 변경 내용을 볼 수 없습니다.
새 클래스를 추가하더라도 남쪽에서 필드 변경 만 감지 할 수 있습니까?
어떻게 이러한 변화를 감지하기 위해 Django를 조정할 수 있습니까?syncdb 이후에 모델에 Admin 클래스를 추가하는 방법은 무엇입니까?

답변

1

불행히도 매우 혼란스러워 보입니다. 당연히 Django는 models.py에서 코드를 읽습니다. 그렇지 않으면 무엇이 중요할까요? Django는 초기에 syncdb를 수행 할 때 모델 SQL을 정의하기 위해이 코드를 사용하지만, 이후 데이터베이스를 수정하지 않습니다. 이후에 syncdb를 호출 할 때 South가 필요합니다.

당연하지만 Django는 models.py와 admin.py와 다른 모든 Python 코드를 사용하여 고유 한 구성과 상태를 정의합니다. (그리고 관리자 클래스는 models.py에 있지만 admin.py에 정의되어 있지 않습니다.)

변경 사항이 표시되지 않으면 서버를 다시 시작해야합니다.

+0

고마워요, 저에게 많은 도움이됩니다. 실제로 테스트 할 수는 없지만 일단 기회가 생길 것입니다. – x0rg

2

syncdb 및 남쪽은 INSTALLED_APPS에 나열된 앱에서 Model의 자손과 관련이 있습니다. 다른 모든 것은 Django가 직접 처리합니다.

+0

그러나 관리자 클래스 또는 메타 클래스를 모델에 추가하면 장고는 어떻게 보입니까? Django가 데이터베이스를 읽었을뿐 model.py가 아닌 것 같아요. – x0rg

+0

왜 models.py를 읽지 않을까요? 이 모듈은 파이썬 코드를 포함하고 장고는 파이썬으로 작성되었습니다. –

1

튜토리얼에서 설명한대로 단계를 수행하면 관리 응용 프로그램을 만들 수 있다는 것이 확실합니다. 관리 앱이 기존 테이블을 변경하는 대신 새 테이블을 생성하므로 마이그레이션은 문제가되지 않습니다.

관련 문제