De la Documentation sur Django dans ce cas, votre name
sera stocké sous la forme d'une chaîne vide, parce que l'élément null
est False par défaut. Si vous souhaitez définir une valeur par défaut personnalisée, utilisez le champ default
option de champ.
name = models.CharField(max_length=100, blank=False, default='somevalue')
Sur cette page, vous pouvez voir que le blank
n'est pas lié à la base de données.
Mise à jour :
Vous devez surcharger la fonction clean de votre modèle, pour avoir une validation personnalisée, ainsi votre modèle def sera :
class Group(models.Model):
name = models.CharField(max_length=100, blank=False)
def clean(self):
from django.core.exceptions import ValidationError
if self.name == '':
raise ValidationError('Empty error message')
Ou vous pouvez remplacer ValidationError
à quelque chose d'autre. Alors avant d'appeler group.save()
appelez group.full_clean()
qui appellera clean()
D'autres éléments liés à la validation sont aquí .