Kev*_*vin 12 django django-models
所以我有一个模型,我想添加ImageField,所以我输入picture = models.ImageField(upload_to ='media/images')
然后我运行了syncdb并进入了shell:
python2 manage.py syncdb
python2 manage.py shell
Run Code Online (Sandbox Code Playgroud)
然后我导入了模型并尝试了
"model".objects.get(pk=1)
Run Code Online (Sandbox Code Playgroud)
我收到错误:
DatabaseError: no such column: people_people.picture
Run Code Online (Sandbox Code Playgroud)
当我为模型运行manage.py sql时
"picture" varchar(100) NOT NULL
Run Code Online (Sandbox Code Playgroud)
在数据库中.
你们有什么解决方案?我无法删除数据库中的数据.
Dun*_*kes 27
如文档 中所述syncdb,不向现有表添加列,它只创建新表.
我建议跑
python manage.py sqlall <your_app>
Run Code Online (Sandbox Code Playgroud)
查看它为您正在更改的表输出的sql,然后运行
python manage.py dbshell
Run Code Online (Sandbox Code Playgroud)
为了手动发出ALTER TABLE命令.
将来,您可能希望使用像South这样的迁移工具.
| 归档时间: |
|
| 查看次数: |
19330 次 |
| 最近记录: |