小编典典

使用Django中的过滤器获取最新记录

django

我正在尝试获取最新的Django模型对象,但似乎无法成功。

这些都不起作用:

obj = Model.objects.filter(testfield=12).latest()
obj = Model.objects.latest().filter(testfield=12)

阅读 526

收藏
2020-04-02

共2个答案

小编典典

obj= Model.objects.filter(testfield=12).order_by('-id')[0]
2020-04-02
小编典典

请参阅Django的文档:https : //docs.djangoproject.com/en/dev/ref/models/querysets/#latest

你需要在latest()中指定一个字段。例如。

obj= Model.objects.filter(testfield=12).latest('testfield')

或者,如果你模型的Meta指定了get_latest_by,则可以忽略field_name参数earliest() or latest()Django get_latest_by默认会使用中指定的字段。

2020-04-02