데이터베이스에 기존 모델이 있습니다. 나는 hstore 필드로 그것을 향상시키고 싶다. 나는 hstore 포스트 그레스 확장, 장고 - hstore 응용 프로그램을 설치 장고 프로젝트에 적절한 설정을 변경 : 내가 장고 응용 프로그램은 새로운 설정으로 작동하는지 확인hstore 필드를 추가 한 후 이전을 만드는 방법은 무엇입니까? (django-hstore 대 South)
SOUTH_DATABASE_ADAPTERS = {'default': 'south.db.postgresql_psycopg2'}
DATABASES = {
'default': {
'ENGINE': 'django_hstore.postgresql_psycopg2',
...
- 그렇습니다. 그래서 모델 중 하나에 새로운 필드를 추가했습니다.
data = hstore.DictionaryField(db_index=True)
다음 단계 : db 마이그레이션. 그리고 여기 나는 길을 잃는다. 새 필드에 대한 이전을 만들 때 다음과 같이 표시됩니다.
The field 'Project.data' does not have a default specified, yet is NOT NULL.
Since you are adding this field, you MUST specify a default
value to use for existing rows. Would you like to:
1. Quit now, and add a default to the field in models.py
2. Specify a one-off value to use for existing columns now
여기서 어떻게해야합니까? 내가 뭐 놓친 거 없니? 장고 - hstore 관련 기사에서 기본값 (또는 null = True)에 대한 참조를 찾지 못했습니다.
네를하는 이전을 적용 할 때 파산했습니다. 나는 두려운 hstore입니다 .DictionaryField는 다른 짐승입니다. – Mike
문제는 인덱스 플래그 일 수 있습니다. 데이터베이스가 사전을 인덱스로 처리하는 것이 복잡하다고 생각합니다. – PepperoniPizza
실제로 처음에는 시도하지 않고 hstore DictionaryField의 기본값이었습니다. – Mike