좋아, 장고 앱을 만들고 있는데 settings.py의 'INSTALLED_APPS'섹션에 남쪽 앱을 설치했습니다. 나는django south migration 데이터베이스를 업데이트하지 않았습니다.
python manage.py schemamigration myapp --auto
python manage.py migrate testapp
명령을 사용하고 있으며 최근까지만해도 완벽하게 작동하여 모델을 변경했습니다.
class Users(models.Model):
days = (('1', '1'), ('2', '2'),)
day = models.CharField(verbose_name='', max_length=1, default='Day')
지금까지 보셨 듯이 여기에 두 가지 오류가있었습니다. 첫 번째는 변수 'days'에 옵션이 없더라도 기본값을 'Day'로 설정한다는 것입니다. 나는 또한 max_length = 1이고 기본값은 3 자리라고 말했다. schemamigration을 실행하고 명령을 마이그레이션 한 후, 그것이 내가
python manage.py runserver
는 '일'을 제외하고 선택 사항을 제공했다
을했을 때 다음
DatabaseError: value too long for type character varying(2)
하고 말하는 오류를 준 말했다 기본이 아니었다, 기본이었다 '1'. 나는 다음 선택으로 '일'을 추가하고 난
python manage.py schemamigration myapp --auto
python manage.py migrate myapp
는 여전히 DatabaseError의를주고있다 할 해주기 경우를 제외하고 MAX_LENGTH = 3을 변경했습니다. 다시 시도하고 schemamigration 명령을 수행했을 때 변경 사항이 없다고 말하면 마이그레이션 명령을 시도 할 때 데이터베이스 오류가 발생합니다.
나는 'days'의 최대 길이를 3으로 업데이트하는 명령 행에서 SQL 명령을 실행하려고 생각했지만 PostgreSQL (데이터베이스는 내 앱에 연결됨)에서 데이터베이스를 보았을 때 ' 일별 '항목이 생성되었습니다.
누구든지이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
변경 한 후 사용중인 선택 부분을 포함한 소스 코드를 표시 할 수 있습니까? 그게 도움이 될거야. 그리고 데이터베이스 (예 : sqliteman 또는 선호하는 도구 사용)를 검사하고 테이블 레이아웃이 실제로 무엇인지 확인할 수 있습니다. – OBu