一旦在Django的應用程序的初始化,之前的PostgreSQL數據庫已經建立,如果試圖獲取/所有/創建一個對象,他們通常會看到這樣的錯誤:避免Django的DatabaseError關係「模式」並不存在
>>> Model.objects.all()
{StackTrace}
...
DatabaseError: relation "model" does not exist
...
在我的應用我想能夠測試模型是否存在,如果存在運行的代碼,這可能使用Django?
僞代碼:
if not (table_exists(model))
return
my_models = Model.objects.all()
...
在什麼情況下你會是在創建表之前運行的應用程序? –
我想解決的問題實際上是因爲我在'model/__ init__.py'中運行了一個需要模型的例程,創建了一個依賴循環。我沒有意識到,Django運行'installed_apps'中列出的每個模型,該模型正在調用__init__.py代碼。 –