一个字符行的 Django max_length 值
Posted
技术标签:
【中文标题】一个字符行的 Django max_length 值【英文标题】:Django max_length value for a character verying row 【发布时间】:2012-04-23 09:07:37 【问题描述】:所以我有这个预先存在的数据库,我正在尝试使用 Django 连接,我已经对数据库进行了自省,我只是在实际做任何事情之前清理模型,我遇到了路障。其中一个数据库表有一行:
“名称”字符变化不为空
当我运行 python manage.py syncdb
时,我收到以下错误:
app.artistname: "name": CharFields 需要一个正整数的 "max_length" 属性。
所以我进入了 models.py 以找出问题所在,我看到了:
name = models.CharField(unique=True, max_length=-1)
所以我的问题是,如果连数据库中的定义都没有设置值,我应该将 max_length 设置为什么值?我是否将其设置为可能的最大值?
【问题讨论】:
@agf:无大小变化是 PostgreSQL 扩展。 @agf:这似乎可以解决问题,谢谢! :D 【参考方案1】:对于不同长度的字段,您可以使用TextField
而不是CharField
,这样您就不必设置大小。
可变长度字段和TextField
s 通常都适用于大量文本。
【讨论】:
【参考方案2】:我会将其设置为应用程序预期的合理高值。名称...通常 80 个字符就足够了,除非您有理由不相信。
【讨论】:
如果这是一个涉及innodb
的mysql
问题,我会说255 个字符,因为这是可以索引的限制,但我们在这里讨论的是postgres。以上是关于一个字符行的 Django max_length 值的主要内容,如果未能解决你的问题,请参考以下文章