2009-09-11 177 views
2

我在Django中使用開發服務器(runserver),它開始讓我很煩心,Django每次保存文件並重新啓動服務器時都會驗證模型。我在SQLite3數據庫中有8000個條目,驗證模型需要5秒鐘。我不熟悉Django如何驗證模型,但我猜它與某種數據庫的大小成正比。Django:跳過模型驗證

那麼有沒有什麼辦法可以讓Django 不是來驗證模型?理想的情況是能夠告訴Django僅在第一次啓動時驗證模型,而不是由於Python文件中的更改導致的任何自動重啓。

+1

你看過這5秒延遲期間發生了什麼?我們有1000行,模型驗證似乎是即時的。也許你內存不足或I/O綁定或其他東西? – 2009-09-11 16:21:40

回答

2

我的數據庫中有超過1000萬行,而runserver的時間不到一秒鐘。

嘗試在5秒鐘內觸摸Control + C,並在KeyboardException被拋出時查看代碼的位置。

+0

爲什麼downvote? (好像該人會發表評論) – 2010-01-06 07:04:58

5

Django根本不做任何模型級驗證,它肯定不會在啓動時掃描數據庫。

它在啓動時所做的唯一驗證是檢查模型代碼的語法,這與您的數據庫大小完全不成比例。

+0

實際上,我只注意到需要最長時間的是我在終端中輸入Enter和模型驗證開始之間的延遲。大約需要三秒鐘才能開始驗證任何內容,之後大約需要兩秒鐘才能驗證模型。 – 2009-09-11 16:32:07