所以我有一个我想添加 ImageField 的模型,所以我输入了
图片 = models.ImageField(upload_to='media/images')
然后我运行syncdb并进入shell:
python2 manage.py syncdb
python2 manage.py shell
然后我导入模型并尝试
"model".objects.get(pk=1)
我收到错误:
DatabaseError: no such column: people_people.picture
当我为模型运行 manage.py sql 时
"picture" varchar(100) NOT NULL
是在数据库中。
大家有什么解决办法?我无法删除数据库中的数据。
最佳答案
如 the documentation 中所述syncdb
不会向现有表添加列,它只会创建新表。
我建议运行
python manage.py sqlall <your_app>
查看它为您正在更改的表输出的 sql,然后运行
python manage.py dbshell
为了手动发出
ALTER TABLE
命令。将来,您可能会喜欢使用 South 之类的迁移工具。 .
关于django - 数据库错误 : no such column error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7323659/