0
je ce modèle simple Blog:IntegrityError avec les champs Booleand et Postgresql
class Blog(models.Model):
title = models.CharField(_('title'), max_length=60, blank=True, null=True)
body = models.TextField(_('body'))
user = models.ForeignKey(User)
is_public = models.BooleanField(_('is public'), default = True)
Lorsque j'insère un blog dans l'interface admin, je reçois cette erreur:
IntegrityError at /admin/blogs/blog/add/
null value in column "is_public" violates not-null constraint
Pourquoi ???
Je crois que vous ne pouvez pas avoir null = True sur BooleanField, vous devez utiliser [NullBooleanField] (http://docs.djangoproject.com/en/dev/ref/models/fields/#nullbooleanfield) –
Si j'ajoute null = True, comme vous l'avez dit, j'obtiens cette erreur : Erreur: Un ou plusieurs modèles n'ont pas été validés: blogs.blog: "is_public": BooleanFeilds n'accepte pas les valeurs null. Utilisez un NullBooleanField à la place. Donc maintenant j'utilise NullBooleanFields et ça marche. Mais pourquoi je dois faire ça? C'est étrange: - \ – xRobot
Ouais, désolé - rébus a clairement raison –