Consider the following query:
candidates = Candidate.objects.filter(ElectionID=ElectionIDx)
Objects in this query are ordered by their id
field.
How do I randomise the order of the objects in the query? Can it be done using .order_by()
?
Consider the following query:
candidates = Candidate.objects.filter(ElectionID=ElectionIDx)
Objects in this query are ordered by their id
field.
How do I randomise the order of the objects in the query? Can it be done using .order_by()
?
Yes, you can use the special argument ?
with order_by
to get randomized queryset:
Candidate.objects.filter(ElectionID=ElectionIDx).order_by('?')
Note that, depending on the DB backend, the randomization might be slow and expensive. I would suggest you to do the benchmark first. If you feel it's slow, then try finding alternatives, before that go with ?
first.