J'essaie d'obtenir un modèle de catégorie où le nom a I.e. J'ai une catégorie appelée nourriture
Je suis toujours capable d'ajouter de la nourriture, de la nourriture, de la nourriture, de la nourriture p>
est leur philosophie derrière cela? ou c'est un travail en cours. P>
Cause dans le monde réel Si je pense à la nourriture de la catégorie, ce sera toujours de la nourriture, peu importe le cas où il s'est utilisé pour mentionner elle-même. P>
Merci d'avance de regarder cela. p> unique = true code>,
Mais pratiquement, je peux toujours ajouter le même nom de catégorie avec des cas différents. P>
3 Réponses :
Réglage de la colonne sur une collation insensible à la casse doit résoudre ce problème. Vous devrez peut-être le faire au niveau SQL. P>
Vous voulez dire la colonne de réglage sur "sensible à la casse"? La question est de savoir comment faire cela à Django.
Je pense que c'est une meilleure approche. Nettoyer n'est pas appelé sur la méthode de sauvegarde
Pour répondre à ma propre question:
J'ai trouvé que je peux avoir une méthode propre sur mon modèle. Donc j'ai ajouté p> Il capitalise la première lettre, qui est ensuite traitée par la méthode code> code>, qui appelle le validate_unique code> méthode pour soulever une erreur. p> p>
2017: Très bien fonctionne!
2021: ne fonctionne pas
Vous pouvez utiliser un champ modèle spécifique postgre appelé Champs Citezex (champs insensibles de cas) .
Il y a trois options pour le moment: p>
Exemple: P> Classe CICHARFIELD (** Options) Code>,
Classe CIEMailfield (** Options) CODE> et
Class CitExtField (** Options) CODE> P>
# migration file
operations = [
CITextExtension(), # <------ here
migrations.CreateModel(
...
),
...,
]