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

标签 django database-design django-models

我在模型中有一个字段,我希望用户感觉他们可以在其中写入任意数量的文本。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/

相关文章:

Django Migrate - 行具有无效的外键,但行不存在

sqlite - 本地 SQLite 与远程 MongoDB

python - Django 模型关系测试

python - django postgresql - 额外的日期时间

sql - 主键/外键命名约定

python - 获取不属于不同模型的多对多关系的对象?

django - 注释相关字段的计数

django - 如何在自定义 Django 字段实现中从 to_python 访问其他模型实例字段

python - MySQL Encoding 4 byte in 3 byte utf-8 - 不正确的字符串值

产品聚合器的数据库设计