关于数据库设计:模型中Django Textfield的适当性

Appropriateness of a Django Textfield in a Model

我在模型中有一个字段,我希望用户感觉他们可以在其中编写任意数量的文本。Django在模型中提供了一个charfield和一个textfield。我假设两者的区别在于其中一个是char(max_length),另一个是varchar内部。

我很想使用textfield,但由于它不考虑最大长度,所以我有点担心有人将大量数据倾倒到它中并给我的服务器加药。我该怎么处理?

谢谢!


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

您可以很容易地在表单中强制使用最大长度来验证用户的输入。这样地。

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

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