我正在創建的應用程序向用戶顯示所有模型實例的項目列表。我希望他們能夠使用JQuery的sortable()方法對項目進行排序。這是實施和正常工作,但我需要一種方法來保存它們列出的順序。此列表更新頻率較高,項目被刪除並添加新項目。用Django&Ajax製作用戶可排序列表的有效方法是什麼?
我最初的方法是給模型一個「位置」列,每次列表項在列表中移動時,更改列表中所有項的位置值。但是,這將需要我每次對1進行排序時獲取所有模型對象,並對每個對象應用更改。
我能想出的唯一方法是給每個「重量」值,而不是他們的實際列表位置。在每個值之間留出足夠的空間以填補空白。舉例來說,權重爲10,20,30,120。如果用戶將第四項移動到第二位置,則看第一項和第二項並選擇15作爲其權重。這當然只能在所有重量必須重新計算才能放置物品之前運行。
我是否在推翻這個?我不期望從這個應用程序的高使用率,所以額外的模型調用使用位置列不會真的是一個問題 - 但如果有一個更好,更有效的方法來做到這一點,我仍然會喜歡做它那樣。
感謝:-)