Je dois ajouter un colorpicker à mon modèle django et écrire un widget personnalisé. Cependant quand j'ajoute ce colordfield à mon modèle, django donne cette erreur:Ajout d'un champ personnalisé et mise à jour d'un problème de modèle dans django
column mediaplanner_ievent.color does not exist
LINE 1: ...nt"."bits", "mediaplanner_ievent"."capture_link", "mediaplan...
Mon modèle est:
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)
La chose étrange est, quand je regardais ma base de données, il existe colorfield. Je ne veux pas supprimer le db et le charger à nouveau. Mais bien sûr, si c'est la seule solution, alors pas le choix ..
Alors quelqu'un peut m'aider à le résoudre?
votre problème semble être assez clair pour moi, vous n'utilisez pas 'colorfield' dans votre définition de modèle! de plus, il vous manque un champ 'color' dans votre db, pas' colorfield'; vous avez probablement ajouté ce champ après que la table a été créée ... Aussi les noms de pls vos noms conformément aux directives de django! –
désolé pour cela, j'ai mis à jour l'information – iva123