django查询表最后几条数据

由于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;

4月9日更新.....

3.先取出表数据长度,再用正切片取最后的数据

data=TvPlay.objects.all()   
lenght=data.count()    #获取表数据总长度
result=data[lenght-5:lenght]  

 

你可能感兴趣的:(python,django,web,sql)