2017-09-24 21 views
0

evaluationをトリガーしないDjango QuerySet項目をマップするメカニズムはありますか?マップ(適用機能)Django QuerySet

私は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

確かに、私が理解しているところから、それは評価を引き起こすでしょう、そうですか? –