Výběr náhodného prvku ze seznamu všech databázových objektů není řešením goog, protože načtení všech prvků databáze může mít velký dopad na výkon, stejně jako použití order_by('?')
jak je uvedeno v dokumentaci django
.
Nejlepším řešením by mělo být načtení prvku s náhodným indexem:
import random
random_idx = random.randint(0, Model.objects.count() - 1)
random_obj = Model.objects.all()[random_idx]