2013-02-19 58 views
0

我有一些表被安裝作爲外部庫的一部分,其中有一些字段需要進行索引以達到速度目的。我可以通過數據庫命令行爲它們編制索引,但我更願意告訴django自己做索引,但我不想修補和維護這個庫。是否有一種簡單的方法可以在源代碼文件中告訴Django在這些模型之外爲索引該字段?我可以從另一個源文件中索引模型字段嗎?

+0

源表是否位於同一數據庫中? – Cole 2013-02-20 17:02:27

回答

0

我使用south來管理我的模型及其各自的數據表。我認爲這將是我的方法,假設表都在同一個數據庫上。 (如果他們都沒有,也沒有真正的解決方案,它可能不值得期待找到解決此限制Django的一些黑客攻擊式的方式。)

$ python manage.py startapp data_models 
$ python manage.py inspectdb > inspectdb.py 

這兩個步驟創建一個文件,模型代表數據庫中的每個表。將要使用的數據表的模型從inspectdb.py複製到​​文件中。根據需要調整複製的模型。然後,假設你已經向南:

$ python manage.py convert_to_south data_models 
$ python manage.py migrate data_models 

現在,你有你的Django項目內的活動模型,這些數據表。最後,設置你想要的ForeignKey關係,如果你還沒有這樣做。如果您更改了任何模型,請執行通常的南部更新舞蹈:

$ python manage.py schemamigration [app-with-changed-models] --auto 
$ [repeat above as necessary] 
$ python manage.py migrate 
相關問題