Por que esse loop não exibe uma contagem atualizada de objetos a cada cinco segundos?

Eu uso esse código python para gerar o número de coisas a cada 5 segundos:

def my_count():     
    while True:
        print "Number of Things: %d" % Thing.objects.count()
        time.sleep(5)

my_count() 

Se outro processo gerar uma nova coisa enquanto my_count () estiver em execução, my_count () continuará imprimindo o mesmo número, mesmo que agora tenha sido alterado no banco de dados. (Mas se eu matar o my_count () e o reiniciar, ele exibirá a nova contagem de coisas.)

As coisas são armazenadas em um banco de dados MYSQL innodb e esse código é executado no ubuntu.

Por que my_count () não exibe o novo Thing.objects.count () sem ser reiniciado?