Django URLField将max_length固定为200个字符

cha*_*oor 6 python django

link = models.URLField(max_length=500, blank=True, default='')
Run Code Online (Sandbox Code Playgroud)

我已经将max_length设置为500,但每次我尝试使用大于200个字符的url设置此字段时,它仍然会抛出错误,说这Ensure this value has at most 200 characters (it has 327).是Django限制还是我忘记设置的内容?

Yuv*_*dam 6

您忘记了实际更新/迁移数据库.这应该在初始时发生syncdb,理想情况是通过在Django版本中使用django-south到1.6 的正确数据库迁移,或者使用Django 1.7+中发布的新Django迁移框架.

出于开发目的,您可以重置数据库(这将删除所有数据!)并重新创建:

$ ./manage.py reset appname
$ ./manage.py syncdb
Run Code Online (Sandbox Code Playgroud)

如果您正在使用南迁移:

$ ./manage.py schemamigration --auto appname
$ ./manage.py syncdb --migrate
Run Code Online (Sandbox Code Playgroud)