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()
精彩评论