给定一个带有自动设置“id”的标准模型(称为Image),如何获得最大ID?
到目前为止,我已经尝试过:
max_id = Image.objects.all().aggregate(Max('id'))
但是我收到了'id__max'关键错误。
尝试
max_id = Image.objects.order_by('id')[0].id
给出一个'参数2到map()必须支持迭代'异常
任何帮助?
答案 0 :(得分:58)
在当前版本的django(1.4)中,它更具可读性
Image.objects.latest('id').id
答案 1 :(得分:38)
只需按反向ID排序,然后选择最顶层的。
Image.objects.all().order_by("-id")[0]
答案 2 :(得分:12)
我知道这已经有了正确的答案,但这是另一种方式:
prev = Image.objects.last()
这为您提供了最后一个对象。
答案 3 :(得分:2)
你的逻辑是对的,这将返回最大id
res = Image.objects.filter().aggregate(max_id=Max('pk'))
res.get('max_id')
答案 4 :(得分:2)
这对我有用
[模型].objects.last().id
Image.objects.last().id
答案 5 :(得分:0)
这也很完美:
max_id = Image.objects.values('id').order_by('-id').first()
答案 6 :(得分:-1)
没有捕获异常并使用django orm的最新对象:
Image.objects.filter().order_by('id').first()