Tenho um campo em um modelo que desejo que os usuáriossentem que podem escrever uma quantidade arbitrária de texto. O Django fornece um CharField e um TextField nos modelos. Presumo que a diferença é que um deles é um char (max_length) e o outro é um varchar internamente.
Estou tentado a usar o TextField, mas como ele não respeita max_length, fico um pouco desconfiado de que alguém despeje muitos dados nele e faça o DOS em meu servidor. Como devo lidar com isso?
Obrigado!
Respostas:
7 para resposta № 1Os campos no modelo representam apenas a maneira como os dados são armazenados no banco de dados.
Você pode facilmente impor o comprimento máximo no formulário, o que validará a entrada dos usuários.
class InputForm(forms.Form):
text = forms.CharField(max_length=16384, widget=forms.TextArea)
...
Isso garantirá que o comprimento máximo que o usuário pode inserir com êxito seja 16k.