我正在阅读django文档,并认为这样做可以将结果查询结果限制为最后10个结果,但这不是这样做的。
这是我的数据库查询:
TSUH = TSUH.objects.filter(FKToUser_id=request.user).all()[10:]
TSFH = TSFH.objects.filter(FKToUser_id=request.user).all()[10:]
TSJH = TSJH.objects.filter(FKToUser_id=request.user).all()[10:]
return render(request, page.html', {
'GivenTSUH':TSUH
})
我的模板包含:
{% if TSUH %}
{% for T in TSUH %}
<li>{{ T.scanBegin }}<span> to <span>{{ T.begin }}</span> </li>
{% endfor %}
{% else %}
It appears there are no results.
{% endif %}
这将为每个查询返回10个以上的结果。 all()
丢掉了吗?
有什么想法吗?谢谢
答案 0 :(得分:1)
您使用的语法不正确。它应该是:
之后的数字,而不是之前的数字。您也可以使用reverse
更改查询顺序,如下所示:
TSUH = TSUH.objects.filter(FKToUser_id=request.user).reverse()[:10]
答案 1 :(得分:0)
您可以尝试
TSFH = TSFH.objects.filter(FKToUser_id=request.user).all().order_by('-pk').[:10]
TSJH = TSJH.objects.filter(FKToUser_id=request.user).all().order_by('-pk').[:10]
这将给出10条最后插入的记录。