Existe-t-il une fonction Django qui me permettra d'obtenir un objet de la base de données, ou None si rien ne correspond?
En ce moment, j'utilise quelque chose comme:
foo = Foo.objects.filter(bar=baz)
foo = len(foo) > 0 and foo.get() or None
Mais ce n'est pas très clair et c'est compliqué d'en avoir partout.
len(foo)
c'est mauvais : " Remarque: n'utilisez pas len () sur les QuerySets si tout ce que vous voulez faire est de déterminer le nombre d'enregistrements dans l'ensemble. Il est beaucoup plus efficace de gérer un décompte au niveau de la base de données, en utilisant SELECT COUNT de SQL (), et Django fournit une méthode count () précisément pour cette raison. ". Réécrit:foo = foo[0] if foo.exists() else None
first()
: P