2010-08-15 34 views
3

所以這是almost a duplicate of this question,除了我要使用的散熱片實現查找。Django:如果用於查找,更好地將一個slug保存到數據庫或動態生成?

我的網址是這樣的:

http://url.com/county/place-name 

「縣」和「地名」的獨特組合被用於查找數據庫對象,但「地名」存儲在數據庫爲'地名'。

所以,如果我沒有在數據庫中作爲一個單獨的蛞蝓場儲存地名,我需要先取消slugify它,然後才然後做查詢。

是去slugification安全/可能在Django?或者我會更好地爲我的數據庫添加一個地名slug字段,並在每次添加新對象時填充它?

回答

4

我總是將它保存到數據庫,如果它用於查找:要避免破碎的URL,以防萬一需要更改地名。如果以後你需要任何理由來改變slugification算法,至少舊數據不會中斷。等

如果您需要稍後更改slu,,至少可以處理遷移,同時仍舊保存舊的slu gs。

+1

我想補充一下cryss的答案 - 你甚至可能有一個額外的表來存儲slu association與對象的關聯 - 因爲未來可能會有同義詞,您將能夠設置適當的重定向到「規範」的URL顯示正確的記錄。 – Evgeny 2010-08-15 22:16:45

+0

是的,我現在正着手在一箇舊項目上做一些非常醜陋的slu。。 – chryss 2010-08-15 22:19:36

相關問題