Django syncdb不';调用inspectdb后无法工作
我使用inspectdb从现有PostgreSql数据库创建了一个模型,当我尝试执行syncdb时,为了生成授权表,它会生成以下错误:Django syncdb不';调用inspectdb后无法工作,django,django-models,django-syncdb,Django,Django Models,Django Syncdb,我使用inspectdb从现有PostgreSql数据库创建了一个模型,当我尝试执行syncdb时,为了生成授权表,它会生成以下错误: CommandError: One or more models did not validate: db.t1: "ip": CharFields require a "max_length" attribute that is a positive integer. 因此,我将max_length=255放在所有字符字段中,但它对这两个字段都不起作用。Dj
CommandError: One or more models did not validate:
db.t1: "ip": CharFields require a "max_length" attribute that is a positive integer.
因此,我将max_length=255
放在所有字符字段中,但它对这两个字段都不起作用。Django版本是1.5.1。
有人知道如何解决这个问题吗?目前
inspectdb
没有为没有指定长度的PostgreSQL字符字段设置max\u length
。仅供参考,引用postgreSQL文档:
符号varchar(n)和char(n)是字符的别名
分别变化(n)和字符(n)。无长度字符
说明符等同于字符(1)。如果使用字符变化
如果没有长度说明符,则类型接受任何大小的字符串。这个
后者是一个PostgreSQL扩展
但是,Django需要定义没有max_length
参数的字符域。这是一个很好的例子
此django提供了一个无长度限制的自定义CharField
——应通过django的所有验证
此外,切换到TextField
也会有所帮助
希望能有所帮助。我将导出的models.py复制到了错误的文件夹,花了大约2个小时才实现。不过,谢谢你的帮助:)当然,当你需要另一个有趣的童话时问问:)