PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come prendere un elemento casuale da un database in Django/postgreSQL?

La selezione di un elemento casuale da un elenco di tutti gli oggetti del database non è una soluzione valida in quanto il recupero di tutti gli elementi del database può avere un grande impatto sulle prestazioni, né l'utilizzo di order_by('?') come menzionato nella documentazione di django .

La soluzione migliore dovrebbe essere recuperare un elemento con un indice casuale:

import random

random_idx = random.randint(0, Model.objects.count() - 1)
random_obj = Model.objects.all()[random_idx]