2010-12-10 2 views
0

django 모델에 colorpicker를 추가하고 사용자 정의 위젯을 작성해야합니다. 내 모델이 colordfield을 추가 할 때, 장고는이 오류를 제공합니다django에서 사용자 정의 필드 추가 및 모델 문제 업데이트

column mediaplanner_ievent.color does not exist 
LINE 1: ...nt"."bits", "mediaplanner_ievent"."capture_link", "mediaplan... 

내 모델입니다 : 내 데이터베이스를 보았을 때

from mediaplanner.custom_widgets import ColorPickerWidget 

class ColorField(models.CharField): 
     def __init__(self,*args, **kwargs): 
       kwargs['max_length'] = 10 
       super(ColorField, self).__init__(*args, **kwargs) 

     def formfield(self, **kwargs): 
       kwargs['widget'] = ColorPickerWidget 
       return super(ColorField, self).formfield(**kwargs) 


class iEvent(models.Model): 
    name = models.CharField(verbose_name= u"Uygulama Adı", max_length=100, unique=True) 
    bits = models.CommaSeparatedIntegerField(verbose_name= u"Bitler",max_length=100) 
    capture_link = models.URLField(verbose_name= u"Capture URL", null=True, blank=True) 
    color = ColorField(blank=true) 
    class Meta: 
     verbose_name = u"red button" 
     verbose_name_plural = u"red buttonlar" 

    def __unicode__(self): 
     return smart_str("%s"% self.name) 

이상한 것은이, colorfield 존재한다. 나는 db를 삭제하고 다시로드하고 싶지 않습니다. 그러나 그것이 유일한 해결책이라면 당연히 선택의 여지가 없습니다.

그래서 누군가가 어떻게 해결할 수 있습니까?

+1

당신의 문제는 나에게 분명치 않은 것처럼 보입니다. 모델 정의에서'colorfield'를 사용하지 않고 있습니다! 게다가'colorfield'가 아닌'color' 필드가 데이터베이스에 없습니다. 당신은 아마 테이블이 생성 된 후에이 필드를 추가했다 ... 또한 pls는 장고 지침에 따라 클래스 이름을 짓는다! –

+0

죄송합니다. 정보를 업데이트했습니다. – iva123

답변

0

데이터베이스의 필드 이름은 colorfield이며 모델의 필드 이름은 color입니다. 다시 작동 시키려면 하나 또는 다른 것을 변경해야합니다.

관련 문제