python - 是否需要在模型字段中设置 max_length?

标签 python django database database-design django-models

我正在开发 Django 应用程序,我想知道是否有任何理由为模型字段(特别是 TextField,但我对所有字段都感兴趣)显式设置 max_length .

它是减少表的大小,还是提高效率?较小的 max_length 是否比较大的有优势?

最佳答案

我相信您需要在 CharField 中设置它,因为它默认为 None。但在某些情况下,如电话号码或 ssn,或美国州的缩写,它会引导用户输入一定长度的正确字符。根据文档:https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.TextField

类 TextField([**选项]) 一个大文本字段。此字段的默认表单小部件是文本区域。

在 Django 1.7 中更改: 如果您指定了 max_length 属性,它将反射(reflect)在自动生成的表单字段的 Textarea 小部件中。但是,它并未在模型或数据库级别强制执行。为此使用 CharField。

关于python - 是否需要在模型字段中设置 max_length?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475004/

相关文章:

python - 用于部分传输的 Vulkan VkBufferImageCopy

sql - 在包含数百万行的表上创建索引会导致任何问题吗?在实时生产数据库中做同样的事情是否存在危险?

database - IMDB(内存数据库)与 Java 集合

mysql - 如何显示实体和数据库表结构之间的差异

Python PIL 找不到我的 "libjpeg"

python - 如何根据列表中的项目复制 Pandas 中的行

python - 从 anchor 估计平滑的 3D 坐标变换

python - 扁平化 Django South 迁移?

python - django 查询集中的意外行为

python - 类 CharField() 的参数