【发布时间】:2014-12-15 23:42:08
【问题描述】:
我正在开发一个 Django 应用程序,我想知道是否有任何理由为模型字段(特别是 TextField,但我对所有字段都感兴趣)显式设置 max_length。
它是减小表格大小,还是提高效率?较小的 max_length 是否比较大的有优势?
【问题讨论】:
标签: python django database database-design django-models
我正在开发一个 Django 应用程序,我想知道是否有任何理由为模型字段(特别是 TextField,但我对所有字段都感兴趣)显式设置 max_length。
它是减小表格大小,还是提高效率?较小的 max_length 是否比较大的有优势?
【问题讨论】:
标签: python django database database-design django-models
你需要在 CharField 中设置它,因为它默认为 None,我相信。但是在某些情况下,例如电话号码、ssn 或美国州的缩写,它会指导用户输入正确长度的字符。根据文档:https://docs.djangoproject.com/en/dev/ref/models/fields/#django.db.models.TextField
class TextField([**options]) 一个大的文本字段。此字段的默认表单小部件是 Textarea。
在 Django 1.7 中更改: 如果您指定 max_length 属性,它将反映在自动生成的表单字段的 Textarea 小部件中。但是,它不是在模型或数据库级别强制执行的。为此使用 CharField。
【讨论】: