Django: Get an object form the DB, or 'None' if nothing matches

django, python

Solution

In Django 1.6 you can use the `first()` Queryset method. It returns the first object matched by the queryset, or None if there is no matching object.

Usage:

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

Problem

Is there any Django function which will let me get an object form the database, or None if nothing matches? Right now I'm using something like: ``` foo = Foo.objects.filter(bar=baz) foo = len(foo) > 0 and foo.get() or None ``` But that's not very clear, and it's messy to have everywhere.

Original source

Related problems