0

我在我的 models.py 中添加了一些模型,我想添加一个管理类以在文本字段中使用所见即所得的编辑器。
好吧,我知道 Django 本身不支持迁移,而且我使用过 South,但它也不起作用。
南方没有“看到”这种变化。
有没有可能,South 只是检测到字段的更改,但如果我添加一个新类则不会?
如何调整 Django 以检测此类更改?

4

3 回答 3

2

syncdb和 South 只关心 .Model中列出的应用程序的后代INSTALLED_APPS。其他一切都由 Django 直接处理。

于 2010-02-26T16:29:25.847 回答
1

我相当确定,如果您按照教程中概述的步骤创建管理应用程序,它将正常工作。迁移不是问题,因为管理应用程序会创建新表而不是更改现有表。

于 2010-02-26T16:31:09.103 回答
1

不幸的是,你似乎很困惑。当然,Django 会读取 models.py 中的代码——否则它的意义何在?Django 在执行 syncdb 时最初使用该代码来定义模型 SQL,但它不会在后续调用 syncdb 时修改现有数据库- 因此需要 South。

但自然地,Django 使用 models.py 和 admin.py 以及所有其他 Python 代码来定义自己的配置和状态。(请注意,管理类不是在 models.py 中定义的,而是在 admin.py 中定义的。)

如果您没有看到更改,则需要重新启动服务器。

于 2010-02-26T18:50:57.930 回答