django - 数据库错误 : no such column error

标签 django django-models

所以我有一个我想添加 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/

相关文章:

python - Django ManyToMany 按集合大小或集合中的成员过滤

python - 从 Django 的 make_aware 解决 AmbiguousTimeError

Django帐户锁定

python - 我在 Django 中的 settings.py 文件太长了。我如何将它分成两部分?

python - 当用户使用 django all-auth 注册时如何创建新的模型对象?

django - 如何以编程方式设置 Django 选择字段?

mysql - Django MySQL 查询 Json 字段

python - 更新或编辑 json 文件时出现 Json 格式问题

python - 值错误 : Cannot serialize function: lambda while using makemigrations

python - Django 管理内联表单错误