我在模型中有一个字段,我希望用户可以在其中输入任意数量的文本。Django在模型中提供了CharField和TextField。我假设不同之处在于其中一个是内部的char(max_length)另一个是varchar。

我很想使用TextField,但是由于它不遵守max_length,所以我有些警惕有人将大量数据转储到其中并使用我的服务器。我该如何处理?

谢谢!

最佳答案

模型中的字段仅表示数据在数据库中的存储方式。

您可以轻松地以表格形式强制执行最大长度,以验证用户的输入。像这样。

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

这将确保用户可以成功输入的最大长度为16k。

09-27 16:45