考虑以下查询:
candidates = Candidate.objects.filter(ElectionID=ElectionIDx)
此查询中的对象按其 id
字段排序。
如何随机化查询中对象的顺序?可以使用 .order_by()
来完成吗?
最佳答案
是的,您可以使用特殊参数 ?
和 order_by
来获得随机查询集:
Candidate.objects.filter(ElectionID=ElectionIDx).order_by('?')
请注意,根据数据库后端,随机化可能会很慢且代价高昂。我建议你先做基准测试。如果您觉得它很慢,请尝试寻找替代方案,然后再使用 ?
。
关于python - 如何随机化查询集的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48844877/