2011-09-06 7 views
0

장고 데이터베이스 (postgresql 백엔드)에 문제가 있습니다. 프로젝트에 상용구가있는 모델 (사용자 프로필)이 있습니다. 이것은 잠시 동안 우리 프로젝트에 앉아 있었고 사용되지 않았습니다. 실제로이 작업이 필요했기 때문에 모델을 조정하고 South와의 초기 마이그레이션을 만들었습니다. 내 dev에 상자에 나는 전체 db 및 syncdb'ed 및 마이그레이션. 이것은 잘 동작했다.Django DatabaseError - 디버깅하는 가장 좋은 방법은 무엇입니까?

프로덕션 환경으로 밀어 넣었을 때 postgresql에서 이전 테이블을 수동으로 제거하고 syncdb가 실행되어 마이그레이션되었습니다. 그러나, 내 관리 인터페이스에서 일부 함수는 이전 모델의 필드를 찾고 있으므로 DatabaseError가 발생합니다. 나는 심지어 전체 postgresql 데이터베이스를 삭제하고 syncdb'ed/migrated를 다시 수행하고 이것이 여전히 발생합니다. 문제가되는 부분은 성 (gender)이라고 불립니다. 이전 작업이 진행되고 데이터베이스 구조가 내 모델을 반영하지만 어떤 이유에서 관리 인터페이스가이 (존재하지 않는) 성별 필드를 찾고 싶어합니다.

DatabaseError의 : 열 user_profiles.gender은 LINE 1이 존재하지 않습니다.. ... "user_profiles" "ID", "user_profiles" "USER_ID", "user_prof ...

나는이 오류입니다 나는이 문제를 이해한다면?

감사

답변

1

을이 매우 사이트 특정 것 같다 이해하지만, 아마도 내가이 문제를 디버깅하는 방법에 대한 몇 가지 포인터를 얻을 수있는, 현재의 코드는 참조에 "성별"어떤이 없어야합니다 이전 코드가 삭제 되었기 때문에 more. 여전히 포함 된 소스 파일을 찾으십시오.

find your-dir -name '*.py'|xargs grep gender 

또는 pyc 파일이 있지만 py 파일이 제거되었습니다. 그러나 파이썬은 여전히 ​​pyc 파일을로드합니다 ....

그래도 도움이되지 않으면 ascii 추적을 게시하십시오.

+0

감사합니다.이 접근 방식은 많은 도움이되었습니다. 사용되지 않은 라이브러리의 어딘가에 묻혀있는 것은 같은 이름의 모듈이었고, 내가 꺼내는 것을 잊어 버린 오래된 수입 진술이있었습니다 (항상 가장 간단한 실수입니다!). 따라서 내 모델을 마이그레이션 했더라도 관리자보기는 이전 모델의 db 테이블을 찾으려고했습니다. 정렬. – Stuart

관련 문제