解决django.db.utils.DataError: (1406, "Data too long for column 'gender' at row 1")

问题

利用pycharm在Django项目创建超级管理员时候,出现错误

Username:  admin
Email address:  admin@test.com
Warning: Password input may be echoed.
Password:  zhang123
Warning: Password input may be echoed.
Password (again):  zhang123
Traceback (most recent call last):
  File "/Applications/PyCharm.app/Contents/helpers/pycharm/django_manage.py", line 43, in <module>
    run_module(manage_file, None, '__main__', True)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 176, in run_module
    fname, loader, pkg_name)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 82, in _run_module_code
    mod_name, mod_fname, mod_loader, pkg_name)
' ' ' '
' ' ' ' 
    self.errorhandler(self, exc, value)
  File "/Users/Southernsky/virtualenv/workspace2.7/lib/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue
django.db.utils.DataError: (1406, "Data too long for column 'gender' at row 1")

分析

从最后一句可以发现,错误是由于‘gender’长度过长

解决方法

mac上pycharm全局搜索快捷键command + shift +R 搜索gender
可见
gender = models.CharField(max_length=5,choices=(('male',u'男'),('famale',u'女')),default='female')
female的长度为6,而max_length=5,跟着视频无脑码代码没有思考,这里将5改为10即可。
然后

makemigrations [appname]
migrate [appname]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 [TOC] 判断字段值是否包含某个数字,如果是字符,建议用icontains 管理员身份运行cmd配置虚拟环...
    又大又甜的桂圆阅读 438评论 0 0
  • Django安装: 查看Django版本: 使用Django创建项目(project): 创建应用(app): 修...
    EldonZhao阅读 1,388评论 0 2
  • # Django学习笔记 ![Django首页截图](images/django.jpg) ## 1. 安装 *~...
    jun4rui阅读 1,196评论 0 0
  • 在不是很炎热的黄昏余晖中,看着满天红云。这一刻的阳台很静,卧室中舒缓的音乐轻轻的放着,听不清楚唱了些什么,只是好像...
    一言半语阅读 194评论 0 0
  • 学法律有用么?法律学了没有用处就显得没有价值,没有价值的东西谁会学?可是有一些人就学习了法律,他们多了一些法律知识...
    不畏不惧阅读 750评论 2 6