Ho un campo in un modello che voglio che gli utentisentono di poter scrivere una quantità arbitraria di testo. Django fornisce un CharField e un TextField nei modelli. Presumo che la differenza sia che uno di questi è un carattere (max_length) e l'altro è un varchar internamente.
Sono tentato di usare TextField, ma dal momento che non rispetta max_length, sono in qualche modo diffidente nei confronti di qualcuno che scarica dati in esso e DOSizza il mio server. Come devo gestirlo?
Grazie!
risposte:
7 per risposta № 1I campi nel modello rappresentano solo il modo in cui i dati vengono archiviati nel database.
Puoi applicare molto facilmente la massima lunghezza nella forma che convaliderà l'input degli utenti. In questo modo.
class InputForm(forms.Form):
text = forms.CharField(max_length=16384, widget=forms.TextArea)
...
Ciò assicurerà che la lunghezza massima che l'utente può inserire correttamente sia 16k.