更改django中的模型会导致数据库损坏?

Rhu*_*arb 3 python django django-models django-admin

我在models.py文件中添加和删除了字段,然后运行manage.py syncdb.通常我必须退出shell并在syncdb执行任何操作之前重新启动它.然后即使在那之后,我在尝试访问管理页面时遇到错误,似乎我添加的某些新字段仍未显示在模型中:

Caught an exception while rendering: no such column: mySite_book.Title
Run Code Online (Sandbox Code Playgroud)

Bar*_*emy 9

Django不会为您执行数据库迁移,即,如果添加新字段,Django将不会修改您的数据库架构.

你可以:

  1. 删除已更改的表并再次执行syncdb.当您开发应用程序并且数据库中没有任何实际数据时,这是合理的.
  2. 使用像South这样的迁移工具执行数据库迁移(如hibernate更新脚本).
  3. 手动编辑数据库并添加/删除以前存在的表的相应字段.