You need to enable JavaScript to run this app. Django Paginator分页交易表格按最新活动优先展示的问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Django Paginator分页交易表格按最新活动优先展示的问题咨询

解决方案

你当前的问题是Django查询交易记录时没有指定排序规则,默认按主键升序(早创建的记录在前)返回数据,才会导致最新记录出现在表格末尾。只需修改查询语句增加倒序排序规则即可:

1. 调整Views.py代码

修改查询Transacciones的那一行,增加order_by排序逻辑:

def index(request):
    # 新增.order_by('-date'),按date字段倒序排列,最新记录优先
    monto = Transacciones.objects.filter(owner = request.user).order_by('-date')
    paginator = Paginator(monto , 7)

    page_number = request.GET.get('pagina')
    page_obj= Paginator.get_page(paginator,page_number)

    context = {
        'page_obj': page_obj , 
    }

    return render(request, 'Admin/Index.cshtml',context)

说明:order_by('-date')里的减号代表倒序,如果你模型中存储记录创建时间的字段名不是date,替换为对应字段名即可。如果要避免同一时间创建的记录排序混乱,可加二级排序规则,比如.order_by('-date', '-id'),按id倒序作为补充排序。
如果需要所有查询该表的场景都默认按最新时间排序,可以直接在Transacciones模型的Meta类里配置默认排序:

class Transacciones(models.Model):
    # 原有字段定义
    class Meta:
        ordering = ['-date']

2. 前端HTML代码无需修改

排序逻辑是在后端查询时完成的,分页返回的page_obj已经是按新规则排序后的结果,原有前端循环渲染的逻辑不需要调整。

内容的提问来源于stack exchange,提问作者yRipper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 00:54:01