我正在使用sqlite3和pycharm来了解有关django的更多信息,并且谷歌搜索发现南方建议在创建模型后更容易修改模型。
我正在尝试遵循http://south.aeracode.org/docs/tutorial/part1.html#starting-off上的建议。
我迄今为止取得的最大成功是创建一个简单的模型并在向south_apps添加南方之前运行syncdb。这样就创建了初始表,我有机会创建一个超级用户。 (如果没有用户,Django管理员似乎会担心)。
然后我将south添加到installed_apps,然后运行django_manage.py schemamigration bookmarks --initial
似乎工作正常。创建一个名为migrations的新目录,其中包含我的app文件夹中的几个文件以及一条令人鼓舞的消息。 “已创建0001_initial.py。您现在可以将此迁移应用于:./ manage.py迁移书签”
下一步 - django_manage.py“迁移书签会生成以下错误消息 django.db.utils.DatabaseError:没有这样的表:south_migrationhistory。
我认为该表将在第一个schememigration步骤中创建。我错过了什么?有人可以帮忙吗?
玛格
答案 0 :(得分:29)
South使用自己的表来跟踪已应用的迁移。在应用任何迁移之前,必须使用python ./manage.py syncdb
创建此迁移。
除了设置南方之外,您还会发现项目中非南方应用有时需要syncdb,例如非常常见的django.contrib.auth
。
请注意,为方便起见,您可以像这样一次运行
python ./manage.py syncdb --migrate
答案 1 :(得分:2)
我的最新(不成功)努力如下
我开始认为整件事情不值得浪费时间 - 也许我最好只修改SQLite浏览器中的表格
答案 2 :(得分:0)
运行syncdb将Django和South表添加到数据库中。