PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Comment récupérer un élément aléatoire d'une base de données dans Django/postgreSQL ?

La sélection d'un élément aléatoire dans une liste de tous les objets de la base de données n'est pas une bonne solution, car la récupération de tous les éléments de la base de données peut avoir un impact important sur les performances, ni l'utilisation de order_by('?') comme mentionné dans la documentation Django .

La meilleure solution devrait être de récupérer un élément avec un index aléatoire :

import random

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