2010-02-26 59 views
0

我在models.py中添加了一些模型,我想添加一個admin類以在文本字段中使用wysiwyg編輯器。
嗯,我知道Django本身不支持遷移,而且我使用了南,但它也不起作用。
南方不會「看到」更改。
難道是南方只是檢測到領域的變化,但如果我添加一個新的類,不是嗎?
我該如何調整Django來檢測這些變化?如何在syncdb後將管理類添加到模型?

回答

1

不幸的是,你似乎很困惑。當然,Django讀取models.py中的代碼 - 否則它會是什麼? Django最初使用該代碼在執行syncdb時定義模型SQL,但在後續對syncdb的調用中它不會修改現有數據庫 - 因此需要使用SouthDB。

但自然,Django使用models.py和admin.py和所有其他Python代碼來定義其自己的配置和狀態。 (並且請注意,管理員類未在models.py中定義,而是在admin.py中定義。)

如果您沒有看到更改,則需要重新啓動服務器。

+0

謝謝,這可以幫助我很多。我實際上無法測試它,但我會一旦有機會。 – x0rg 2010-02-26 19:35:45

2

syncdb和南方只關注在INSTALLED_APPS中列出的應用中的Model的後代。其他的一切都由Django直接處理。

+0

但是,如果我向模型添加管理員類或元類,Django如何看待它?我以爲Django只是讀取數據庫,而不是models.py – x0rg 2010-02-26 17:18:38

+0

爲什麼它不*讀取models.py?該模塊包含Python代碼,Django是用Python編寫的。 – 2010-02-26 23:29:29

1

我相當肯定,如果您按照教程中概述的步驟創建管理應用程序,它就會正常工作。由於管理應用程序創建新表而不是更改現有表,因此遷移不是問題。

相關問題