je le modèle suivant:Aucune exception soulevée lors de l'enregistrement d'un champ vide avec null = False - Django
class User(models.Model):
email = models.EmailField(max_length=254, null=False, unique=True)
referral_code = models.CharField(max_length=10, null=False, unique=True)
Et utilisé le shell Django pour sauver une instance d'utilisateur referral_code non défini:
u = User(email="[email protected]")
u.save()
Cela n'a pas déclenché une exception. Ma compréhension était que null = False exigerait que referral_code soit défini - N'est-ce pas le cas? Comment pourrais-je réaliser ce comportement?
mise à jour
Je remarque que le champ est réglé sur u.referral_code=''
, donc compte tenu de la contrainte d'unicité, ce qui a soulevé une exception quand j'ai essayé de répéter le processus avec une nouvelle instance. Je préférerais que l'exception soit levée car je n'ai pas défini le champ ...