由于django的orm查询集不支持负切片,所以直接用负切片查询最后几条记录会出错
这里有2种解决思路
1.先将数据排序然后用正切片取前面的几条数据例如这样
new_data=Book_detail.objects.filter(book_id=book_id).order_by('-id')[:5]
order_by()默认是升序排列,加上‘-’就是降序排列,我这里以id进行降序排列,取前5项,不同情况下选取不同的字段进行排序就行
2.使用原生sql语句
select * from book_book_info order by id desc limit 5;
本文探讨了在Django中使用ORM查询集时遇到的负切片限制问题,并提供了两种解决方案:一是通过降序排列并使用正切片来获取最近的数据;二是采用原生SQL语句实现相同目标。
3156

被折叠的 条评论
为什么被折叠?



