/ / Pertinence d'un champ de texte Django dans un modèle - django, database-design, django-models

Pertinence d'un champ de texte Django dans un modèle - django, database-design, django-models

J'ai un champ dans un modèle que je veux que les utilisateursIls ont l’impression de pouvoir écrire une quantité arbitraire de texte. Django fournit un CharField et un TextField dans les modèles. Je suppose que la différence est que l’un d’eux est un char (max_length) et l’autre est un varchar en interne.

Je suis tenté d’utiliser TextField, mais comme il ne respecte pas max_length, j’ai un peu peur que quelqu'un y jette des tonnes de données et dose mon serveur. Comment dois-je gérer cela?

Merci!

Réponses:

7 pour la réponse № 1

Les champs du modèle représentent uniquement la manière dont les données sont stockées dans la base de données.

Vous pouvez très facilement appliquer une longueur maximale dans un formulaire qui validera les entrées des utilisateurs. Comme ceci.

class InputForm(forms.Form):
text = forms.CharField(max_length=16384, widget=forms.TextArea)
...

Cela garantira que la longueur maximale que l'utilisateur peut entrer avec succès est de 16k.