2011-02-23 68 views
0

我有一個類別列表,每個類別都有一個元類別。然後,我創建一些選擇多個字段,以允許用戶過濾他想看到的對象。這給了我一本詞典是這樣的:如何將用戶首選項作爲字典存儲到用戶配置文件中?

filter={'genres':[id1,id2...],'parts':[id9,id11...],...} 

現在我想的是存儲用戶配置文件,所以返回的頁面,當用戶立即得到他最後的搜索結果。

我知道我可以用M2M字段來做到這一點,但這將涉及到重新創建文件管理器字典,所以我寧願存儲字典。這是一個壞主意嗎?爲什麼?如果不是,那麼做一個好的方法是什麼?

+0

你能解釋你的問題與[這一個]不同嗎(http://stackoverflow.com/questions/402217/how-to-store-a-dictionary-on-a-django-model)? – 2011-02-24 14:59:00

+0

我認爲它主要是需要存儲的數據類型。我只是嘗試保存一些用戶偏好,我不需要成爲模型。他們不必被搜索。這更像是「會話凍結」。你在這篇文章中被接受的答案並不令人滿意,因爲這是一個答案。 – marue 2011-02-24 15:45:30

回答

1

如前所述,酸洗是一種選擇。就我個人而言,我會選擇一個JSONfield(你可以很容易地找到它們,只是Google),因爲格式更具可讀性,可以更好地進行調試。

值得指出的是,很難根據存儲在字典中的數據來查詢模型。看起來這對你來說不是問題。

0

第一種選擇是醃字典和存儲。爲此,您可以使用django-picklefield

雖然我可能傾向於將其粘貼在Cookie中:它不敏感(我認爲),用戶可能永遠不會返回,它不是需要存儲的東西。

相關問題