我在模型中有一个字段,我希望用户可以在其中输入任意数量的文本。Django在模型中提供了CharField和TextField。我假设不同之处在于其中一个是内部的char(max_length)另一个是varchar。
我很想使用TextField,但是由于它不遵守max_length,所以我有些警惕有人将大量数据转储到其中并使用我的服务器。我该如何处理?
谢谢!
最佳答案
模型中的字段仅表示数据在数据库中的存储方式。
您可以轻松地以表格形式强制执行最大长度,以验证用户的输入。像这样。
class InputForm(forms.Form):
text = forms.CharField(max_length=16384, widget=forms.TextArea)
...
这将确保用户可以成功输入的最大长度为16k。