Выбор случайного элемента из списка всех объектов базы данных не является решением goog, поскольку извлечение всех элементов базы данных может сильно повлиять на производительность, равно как и использование order_by('?')
, как упомянуто в документации django.
Лучшим решением должно быть получение элемента со случайным индексом:
import random
random_idx = random.randint(0, Model.objects.count() - 1)
random_obj = Model.objects.all()[random_idx]