2011-09-06 23 views
0

我在使用django數據庫(postgresql後端)時遇到了一些麻煩。在項目中有一個模型(用戶配置文件),其中包含一些樣板文件。這已經在我們的項目中有一段時間了,沒有被使用。我真的需要這個,所以我調整了模型,並與South創建了一些初始遷移。在我的開發盒上,我放下了整個數據庫並進行了syncdb'ed和遷移。這工作得很好。Django DatabaseError - 調試的最佳方法是什麼?

當我推出這個產品時,我手動刪除了postgresql中的舊錶,並且syncdb'ed和遷移。但是,在我的管理界面中,由於某些函數正在舊模型中尋找一個字段,所以會引發DatabaseError。我甚至放棄了整個postgresql數據庫並重新syncdb'ed/migrated,這仍然發生。犯罪領域被稱爲性別(不是我創建的)。遷移工作,數據庫結構反映了我的模型,但由於某種原因,管理界面想要找到這個(不存在的)性別字段。這是錯誤:

DatabaseError:列user_profiles.gender不存在LINE 1:。... 「user_profiles」, 「ID」, 「user_profiles」 「USER_ID」,「user_prof ...

我明白這一點似乎是相當現場具體,但也許我能得到如何調試這一些指針?

感謝

回答

1

如果我理解你的問題,你當前的代碼不應該包含對「性別」的任何更多,因爲舊的代碼已被刪除。嘗試找到一個仍然包含它的源文件:

find your-dir -name '*.py'|xargs grep gender 

或者有一個pyc文件,但py文件已被刪除。但Python仍然加載pyc文件....

如果這沒有幫助,請張貼ascii回溯。

+0

謝謝,這種方法幫了很大忙。事實證明,埋在一個未使用過的圖書館中的某個地方是一個同名的模塊,並且有一箇舊的導入語句,我忘記了它(總是最簡單的錯誤誒!)。因此,即使我遷移了我的模型,管理視圖也試圖爲舊模型查找數據庫表。排序。 – Stuart

相關問題