PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Wie erhalte ich ein zufälliges Element aus einer Datenbank in Django/postgreSQL?

Die Auswahl eines zufälligen Elements aus einer Liste aller Datenbankobjekte ist keine gute Lösung, da das Abrufen aller Elemente der Datenbank einen großen Einfluss auf die Leistung haben kann, ebenso wenig wie die Verwendung von order_by('?') wie in der Django-Dokumentation erwähnt .

Die beste Lösung sollte darin bestehen, ein Element mit einem zufälligen Index abzurufen:

import random

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