Django 모델에서 필드를 삭제하는 간단한 방법이 있습니까? 필드의 추가를 위해, 작품 완벽한하지만 당신은 South을 사용할 수는 다음과 같은 오류를Django 모델 : 드롭 필드
django.db.utils.DatabaseError: (1060, "Duplicate column name 'xyz_json_old'")
Django 모델에서 필드를 삭제하는 간단한 방법이 있습니까? 필드의 추가를 위해, 작품 완벽한하지만 당신은 South을 사용할 수는 다음과 같은 오류를Django 모델 : 드롭 필드
django.db.utils.DatabaseError: (1060, "Duplicate column name 'xyz_json_old'")
나는 남쪽을 사용하고 있지만 여전히 나는 내 친구의 도움으로 다음을 통과했다 - 내가 뭔가를 망친해야합니다과 남쪽의 일부 내부 단계는 원자 수없는 그는 말한다
을 던지는 삭제 작동하지를 마이그레이션 할 수 있습니다.
settings.py
및 데이터베이스에 남쪽 테이블을로드 할 수./manage.py syncdb
을 (당신이 올바른 위치에 설치 한 가정) INSTALLED_APPS
에 'south'
을 넣어. syncdb는 이제 다르게 보입니다 - South는 그것을 수정합니다../manage.py convert_to_south myapp
- 자동으로 첫 번째 마이그레이션을 적용하고 가장합니다. 는 그런 다음 models.py
을 편집 한 다음
./manage.py schemamigration --auto myapp
그들 마이그레이션 :
./manage.py migrate myapp
을이
$ python manage.py dbshell
을 시도 모델에서만 분야를 삭제하려면 데이터베이스 셸 내에서 직접 얻을 수 있습니다 (mys ql 또는 psql)을 사용중인 데이터베이스 까지.
$ mysql> | psql> ALTER TABLE <table_name> DROP column <COLUMN_NAME>;
모델을 엽니 다 너무 (파이썬 파일)과 같은 경우 문제가되지 않습니다, 모델에서 필드 이름을 벗고 이제
$ python manage.py syncdb
을 입력 그리고 테이블에 열을 삭제합니다 테이블이 이미 채워 졌는지 여부.
감사를 마이 그 레이션해야 할 수도 있습니다. 내 단계를 작성한 후 귀하의 의견을 보았습니다. – comiventor
나는 그가 이미 남쪽을 사용하고 의심, 나는 그가 마이그레이션하려고 생각하고 그 오류를 때리고 곳이다. 그는 – ptr