gpt4 book ai didi

mysql - Django:从 Django 数据库获取下一组查询以进行异步加载

转载 作者:行者123 更新时间:2023-11-29 10:24:07 25 4
gpt4 key购买 nike

例如,如果我的 Django 表有数百行,并且最初在 View 中,我按以下格式获取前 10 条记录以显示在网页上。

def fetchtExperts(request):
if request.method == "GET":
experts = Experts.objects.exclude(client_assigned=None).values('id', 'name', 'age').order_by('qualification')[:10]

return render(request, 'index.html', {'experts': experts})

如果这 10 条记录显示在第 1 页上,我希望当用户单击第 2 页时显示接下来的 10 条记录。如何从上次获取的记录之后的记录开始获取接下来的 10 条记录?我是否将第 1 页的最后一条记录的 ID 发送到 View ,以便我可以相应地获取接下来的 10 条记录,或者是否有更好的方法来实现此目的?

最佳答案

Django提供Pagination此类问题的工具。改变你的看法:

from django.core.paginator import Paginator

def fetchtExperts(request):
experts = Experts.objects.exclude(client_assigned=None).values('id', 'name', 'age').order_by('qualification')
paginator = Paginator(experts, 10) # Show 10 contacts per page

page = request.GET.get('page')
experts = paginator.get_page(page)
return render(request, 'list.html', {'experts': experts})

使用此方法,您需要将页码作为 GET 参数传递:http://mypage.com/view?page=1

关于mysql - Django:从 Django 数据库获取下一组查询以进行异步加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48638158/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com