2014-09-26 2 views
0

Userena를 사용하고 있습니다. 내 프로필 클래스에서 ImageField를 추가했는데 OperationalError가 나타나고 사이트의 가입 페이지에 도달 할 때마다 Column이 존재하지 않습니다. .이미지 필드 추가, OperationalError 가져 오기 : 열이 없습니다.

다음은 아래 코드입니다.

from django.contrib.auth.models import User 
from django.utils.translation import ugettext as _ 
from userena.models import UserenaBaseProfile 

class MyProfile(UserenaBaseProfile): 
    user = models.OneToOneField(User, 
           unique=True, 
           verbose_name=_('user'), 
           related_name='my_profile') 
    favourite_snack = models.CharField(_('favourite snack'), 
             max_length=5 
    coverpic = models.ImageField(upload_to="site_media/media/covers/", null=True, blank=True) 

는 이미 syncdb과 ImageField을 추가 한 후 시간의 남쪽 마이그레이션 수십 실행, 그래서 나는이 문제가 있는지 확실하지 않습니다.

내가 뭘 잘못하고 있니?

+0

을 가지고 응용 프로그램을 마이그레이션 ./manage.py 분야 추가 응용 프로그램 --fake

  • 의 주석에게 coverpic 라인을 이전 한 후
  • --auto ./manage.py schemamigration의 응용 프로그램을 실행 inspectdb 또는 이와 유사한 것으로 데이터베이스의 무결성을 확인 했습니까? – souldeux

  • +0

    사우스 이민을 실행하면 무엇을 의미합니까? schemamigration을 실행 했습니까? 출력이 있었습니까? 필드를 추가하는 마이그레이션이 생성 되었습니까? –

    +0

    오류없이 ./manage.py 마이그레이션을 수행했습니다. – stephan

    답변

    0

    가끔 엉망이 될 수 있습니다. 데이터베이스 필드는 데이터베이스에는 존재하지 않지만 남쪽은 생각합니다.

    내가 이런 일을 할 때 사용하는 해결책은 삭제 마이 그 레이션을 가짜로 만든 다음 남쪽이 필드가 삭제되었다고 생각한 후에 필드를 추가하는 것입니다. 다음 coverpic 라인과

    1. 주석으로 남쪽으로는 필드를 제거 있다고 를 생각하게하는 가짜 마이그레이션을 실행 --auto
    2. schemamigration 응용 프로그램을 ./manage.py 실행 | ./manage.py