如何从Django/postgreSQL中的数据库中获取一个随机项?

7 python django postgresql

所以我得到了database.objects.all()和database.objects.get('name')但是如何从数据库中获取一个随机项目.我无法弄清楚如何选择一个随机项目.

Ber*_*ant 17

从所有数据库对象的列表中选择随机元素不是goog解决方案,因为检索数据库的所有元素会对性能产生很大影响,也不会order_by('?')django文档中提到的那样使用 .

最好的解决方案应该是检索具有随机索引的元素:

import random

random_idx = random.randint(0, Model.objects.count() - 1)
random_obj = Model.objects.all()[random_idx]
Run Code Online (Sandbox Code Playgroud)