2017-09-24 105 views
0

有沒有一種機制來映射Django的查詢集項目不觸發其evaluation地圖(應用功能)Django的查詢集

我想知道的東西像Python map。使用函數將其應用於QuerySet的函數,但保留懶惰評估。

例如,使用模型從Django文檔example,是有什麼樣的呢? (不是真碼):

>>> Question.objects.all().map(lambda q: q.pub_date + timedelta(hours=1)) 

它保持懶惰的評價?

+2

你能否解釋在這一點更多的細節你的問題 – iklinac

+0

它們映射到什麼? –

+0

請檢查編輯的問題。謝謝。 –

回答

0

您可以使用values_list得到任何你喜歡的列:

Question.objects.values_list('pub_date') 

這是比什麼都可以編造自己簡單。

+0

謝謝。但是我想知道更廣泛的東西,不限於模型領域。 –

+0

您可以使用任何功能,比如'map'遍歷一個QuerySet,做你想要什麼。或者你可以使用字典/列表解析來創建數據結構。 – tayfun

+0

當然,但是從我的理解,這將引發評估,對不對? –