我正在尝试使用django ORM接收最大PK。 我最大的意思是我想做这个查询:
SELECT MAX(pk_column)
FROM some_table;
问题是我想要像some_table_model.max(pk)
这样的东西,对我来说重要的是Django会将它翻译成上面的查询,所以它会使用索引。所以:
提前谢谢。
答案 0 :(得分:2)
您可以使用Sebastian Proske said in the comments获取最大值。例如,如果您想要Users表的最大ID:
{'id__max': 10}
这会给你malloc()
或任何最大的ID。
答案 1 :(得分:0)
您可以使用此
YourModel.objects.all().order_by(-id).first().id
答案 2 :(得分:0)
这有点旧,但我遇到了同样的问题,可以使用latest
来实现。
try:
return some_table_model.ojects.latest('pk').pk
except some_table_model.DoesNotExist:
return 0
这当然是假设你的pk是数字而不是复合。否则,您可以使用id
或上面建议的其他字段