开发者

Django select max id

given a standard model (called Image) with an autoset 'id', how do I get the max id?

So far I've tried:

max_id = Image.objects.all().aggregate(Max('id'))

but I get a 'id__max' Key error.

Trying

max_id = Image.objects.order_by('id')[0].id

gives a 'argument 2 to map() must support iteration' exception

Any h开发者_运维问答elp?


In current version of django (1.4) it is even more readable

Image.objects.latest('id').id


Just order by reverse id, and take the top one.

Image.objects.all().order_by("-id")[0]


I know this already has a right answer but here it's another way of doing it:

prev = Image.objects.last()

This gives you the last object.


Your logic is right, this will return the max id

res = Image.objects.filter().aggregate(max_id=Max('pk'))
res.get('max_id')


this also work perfectly:

max_id = Image.objects.values('id').order_by('-id').first()


This worked for me

[model].objects.last().id

Image.objects.last().id


Latest object without catching exception and using django orm:

Image.objects.filter().order_by('id').first()

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜