我有一些記錄,我想基於計算值進行排序。得到的答覆over here ...像這樣:django - 將列表轉換回查詢集
sorted(Profile.objects.all(), key=lambda p: p.reputation)
在Profile類是這樣的:
class Profile(models.Model):
...
@property
def reputation(self):
...
不幸的是,一般的觀點是期待一個QuerySet對象,並拋出一個錯誤,如果我給它一個列表。
有沒有辦法做到這一點,它返回一個查詢集
或...
我可以轉換列表到查詢集不知何故?在django文檔中找不到類似的東西。
我希望不要使數據非規範化,但我想我會如果我必須。
更新/答:
似乎得到查詢集回來的唯一方法是,如果你可以得到所有你的邏輯到SQL查詢。
當那是不可能的,(我認爲),你需要進行非規範化的數據
是不是一個更好的問題「我如何將列表(或字典)傳遞到通用視圖」?我假設你是否解決了這個問題,那麼無論你是通過轉換爲查詢集還是不這樣做...... – 2009-06-30 09:45:47
是的......這是,但我只是想知道是否有一種簡單的方法將其轉換爲一個查詢集,然後我去分叉通用視圖;) – Jiaaro 2009-06-30 16:17:01
mods,這不是重複的。答案是這樣的一個不同的問題:「你不能這樣做,所以你必須做其他事情。」另一個問題描述了「別的東西」。 – Jiaaro 2015-08-06 15:32:06