Django随机排序模型实例

时间:2018-01-12 02:54:56

标签: python django django-models

有人知道在展示模型实例时随机排序的更好方法吗?

我将返回大量实例,并且我没有尝试使用order_by('?')杀死我的服务器

2 个答案:

答案 0 :(得分:1)

如果你想要所有的查询集列表,你可以使用python方式。

首先,您应该将django实例转换为列表

queryset_list = list(YourModel.objects.all())

你可以随机播放queryset_list

from random import shuffle
shuffle(queryset_list)

我认为它比使用order_by('?')

要快得多

答案 1 :(得分:0)

导入

from django.core.paginator import Paginator

def index(request):    
    finals = Final.objects.all()
    paginator = Paginator(list(finals), 10)
    page = request.GET.get('page')
    contacts = paginator.get_page(page)
    return render(request, 'index.html', {'contacts': contacts})

像这样使用