Подтвердить что ты не робот

Django select max id

для стандартной модели (называемой Image) с идентификатором autoset, как мне получить максимальный id?

До сих пор я пробовал:

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

но я получаю ошибку ключа "id__max".

Попытка

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

дает аргумент 2 для map() должен поддерживать исключение итерации

Любая помощь?

4b9b3361

Ответ 1

Просто закажите обратный идентификатор и возьмите верхний.

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

Ответ 2

В текущей версии django (1.4) она еще более удобочитаема

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

Ответ 3

Я знаю, что это уже имеет правильный ответ, но здесь это другой способ сделать это:

prev = Image.objects.last()

Это дает вам последний объект.

Ответ 4

Ваша логика правильная, это вернет max id

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