Se você possui um grande número de objetos, isso pode (às vezes) ser muito mais rápido:
try:
orgs[0]
# If you get here, it exists...
except IndexError:
# Doesn't exist!
Em um projeto em que estou trabalhando com um banco de dados enorme, not orgs
tem mais de 400 ms e orgs.count()
250ms. Nos meus casos de uso mais comuns (aqueles em que existem resultados), essa técnica geralmente reduz isso para menos de 20ms. (Um caso que encontrei foi o 6.)
É possível que demore muito mais, dependendo da distância que o banco de dados deve procurar para encontrar um resultado. Ou ainda mais rápido, se encontrar um rapidamente; YMMV.
EDIT: Este vai muitas vezes ser mais lento do que orgs.count()
se o resultado não for encontrado, especialmente se a condição que você está filtrando é rara; como resultado, é particularmente útil nas funções de exibição nas quais você precisa garantir que a exibição exista ou lançar o Http404. (Onde, seria de esperar, as pessoas estão pedindo URLs que existem com mais frequência do que não).