Edited at

querysetの最初の要素を取得する

More than 3 years have passed since last update.

Djangoの小ネタ。

https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.first

Django1.6くらいから querysetにfirst(とlast)が追加されていたらしく、最初のアイテムをとるのに便利に使えるということを今更知りました・・


  • before

try:

p = Article.objects.order_by('title', 'pub_date')[0]
except IndexError:
p = None


  • after

p = Article.objects.order_by('title', 'pub_date').first()

うーん便利。Django1.8もリリースされたようなので、新しい機能をチェックしないとですね。