Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模型中Django文本字段的适当性_Django_Database Design_Django Models - Fatal编程技术网

模型中Django文本字段的适当性

模型中Django文本字段的适当性,django,database-design,django-models,Django,Database Design,Django Models,我在模型中有一个字段,我希望用户感觉他们可以在其中写入任意数量的文本。Django在模型中提供了一个CharField和一个TextField。我假设其中一个是char(max_length),另一个是varchar 我很想使用TextField,但由于它不尊重max_长度,我有点担心有人将大量数据转储到它中并给我的服务器添加剂量。我该如何处理这件事 谢谢 模型中的字段仅表示数据在数据库中的存储方式 您可以很容易地在表单中强制执行最大长度,这将验证用户的输入。像这样 class InputFor

我在模型中有一个字段,我希望用户感觉他们可以在其中写入任意数量的文本。Django在模型中提供了一个CharField和一个TextField。我假设其中一个是char(max_length),另一个是varchar

我很想使用TextField,但由于它不尊重max_长度,我有点担心有人将大量数据转储到它中并给我的服务器添加剂量。我该如何处理这件事


谢谢

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

您可以很容易地在表单中强制执行最大长度,这将验证用户的输入。像这样

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

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

太糟糕了,我希望我可以只使用ModelForm而不修改表示。我喜欢把神奇的数字放在一个地方:-)实际上,您仍然可以使用ModelForm,只需为该字段自定义它。请看,它应该说widget=forms.Textarea,而不是forms.Textarea。