我在模型中有一个字段,我希望用户感觉他们可以在其中写入任意数量的文本。Django 在模型中提供了 CharField 和 TextField。我认为区别在于其中一个是 char(max_length),另一个是内部的 varchar。
我很想使用 TextField,但由于它不尊重 max_length,所以我有点担心有人将大量数据转储到其中并关闭我的服务器。我该如何处理这个问题?
谢谢!
最佳答案
模型中的字段仅代表数据在数据库中的存储方式。
您可以非常轻松地强制表单中的最大长度,以验证用户的输入。像这样。
class InputForm(forms.Form):
text = forms.CharField(max_length=16384, widget=forms.TextArea)
...
这将确保用户可以成功输入的最大长度为 16k。
关于django - 模型中 Django 文本字段的适当性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2036694/