2011-07-04 4 views
1

내 Django 앱 models.py에서 방금 최근에 추가 한 필드가 있습니다.외래 키 열을 기존 테이블에 추가하고 싶습니다.

Class Client 
    user = models.ForeignKey(User) 

가 나는 기존 테이블에 MySQL은이 필드를 추가 할 수 있습니다. 문제는 외래 키를 다루는 명령을 모른다는 것입니다. 이 열을 추가하려는 테이블의 이름은 tiptop_clients입니다.

답변

1

당신은 sqldiff - 명령 django-extensions의를 사용할 수 있습니다 : 주어진 appnames에 대한 모든 모델을 검색하고 실제 데이터베이스 테이블에 가 데이터베이스 스키마를 비교

장고 명령을 사용합니다.

데이터베이스의 열이 장고에서 생성되는 SQL 과 어떻게 다른지 나타냅니다. 이 명령은 데이터베이스 이전 도구가 아닙니다. 비록 그것이 도중 이주 중 확실히 도움이 될지도 모르다. 현재 모델을 확인하거나 디버깅하는 방법으로 의 실제 데이터베이스 테이블 및 열과 비교하여 현재 차이점을 표시하는 것이 목적입니다.

0

당신이 가지고있는 가장 큰 문제는 기존 데이터로 무엇을 할 것인가입니다. 이미 생성 된 클라이언트에 대해서는 사용자가 NULL이어야합니까? 이 사건을 처리하기 위해 양식을 모두 업데이트 하시겠습니까?

South 프로젝트를보고 해당 열을 추가 할 수 있지만, 기존의 모델에 User를 추가하려는 사람이 관련된 Stack Overflow 질문을 볼 수 있습니다.

결국 그들은 처음부터 시작하여 ForeignKey를 구부리기 쉽다고 결정했습니다.

관련 문제