を実行して一覧表示する発電機を変換することができます。イテレータは、あなたがforループを使用して、すべてのアイテムを反復処理することができます反復可能なオブジェクトの一種であり、かつ反復可能な他のどのような、
:
for vote in Vote.objects.get_top(myModel, limit=10, reversed=False):
print v.name, vote
あなたがインデックスによって項目にアクセスする必要がある場合、あなたはそれを変換することができますリストに:しかし
top_votes = list(Vote.objects.get_top(myModel, limit=10, reversed=False))
print top_votes[0]
、あなたは一度だけ、イテレータの特定のインスタンスを反復処理することができます(リストのような、より一般的な反復可能なオブジェクトとは異なります):
>>> top_votes_generator = Vote.objects.get_top(myModel, limit=3)
>>> top_votes_generator
<generator object at 0x022f7AD0>
>>> list(top_votes_generator)
[<Vote: a>, <Vote: b>, <Vote: c>]
>>> list(top_votes_generator)
[]
独自の発電機を作成する方法の詳細については、http://docs.python.org/tutorial/classes.html#generators
を参照してください。