You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
En base de données, certains champs contenant des chaînes de caractères autorisent deux valeurs différentes pour représenter des chaînes vides :
la valeur null (le champ est nullable), qui correspond alors à None ;
la chaîne vide en tant que telle : "".
Avoir deux valeurs pour la même sémantique peut compliquer le code (voir cette PR abandonnée pour cette raison) ou créer des comportements suprenants, et c'est la raison pour laquelle ce n'est pas recommandé (voir la doc de Django).
Comportement attendu
Un champ vide pour une chaîne de caractère est un champ avec "" dedans et ces champs ne sont pas nullable.
The text was updated successfully, but these errors were encountered:
Je rajoute quelques infos qui sont dans la PR citée, qui peut aider à résoudre ce ticket :
Cela amenait des contenus pas en bêta à s'afficher en bêta sur la liste des contenus d'un utilisateur. Par exemple https://beta.zestedesavoir.com/tutoriels/voir/SpaceFox/?filter=beta ne doit pas contenir Introduction à l'astronomie. Le problème semble être spécifique à MariaDB (tout du moins il ne se produit pas avec SQLite), mais je n'ai pas réussi à le reproduire, même avec MariaDB en local.
Description du bug
En base de données, certains champs contenant des chaînes de caractères autorisent deux valeurs différentes pour représenter des chaînes vides :
None
;""
.Avoir deux valeurs pour la même sémantique peut compliquer le code (voir cette PR abandonnée pour cette raison) ou créer des comportements suprenants, et c'est la raison pour laquelle ce n'est pas recommandé (voir la doc de Django).
Comportement attendu
Un champ vide pour une chaîne de caractère est un champ avec
""
dedans et ces champs ne sont pas nullable.The text was updated successfully, but these errors were encountered: