2017-09-24 62 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

当然,但是从我的理解,这将引发评估,对不对? –