django返回每个用户的最新记录

时间:2017-10-11 15:54:11

标签: python django django-models

我正在学习django框架,目前我遇到了一个问题。

有两种型号

Sub SeperateWB2()

Dim ws As Worksheet
Dim wb As Workbook
Dim sheetname As Variant
Dim ddl As Variant

ddl = "PhaseTransferDropDowns"
sheetname = InputBox("Please specify sheet name:")
Path = "C:\My Documents\Phase Transfer\Test\"

For Each ws In ThisWorkbook.Worksheets 'SetVersions
    If Not ws.Name = sheetname And Not ws.Name = ddl Then
    Application.DisplayAlerts = False
        ws.Delete
    End If
Next ws

wb.SaveAs Path & ws.Name & ".xlsx", Excel.XlFileFormat.xlOpenXMLWorkbook
        wb.Close
        Set wb = Nothing
End Sub

每个用户的每个操作都会插入到操作模型中,因此,不同的createTime中每个用户都有很多记录。

现在,我想列出每个用户的最新动作,但我不知道实现它。

2 个答案:

答案 0 :(得分:1)

尝试类似:

from django.db.models import F, Max


actions = Action.objects.annotate(
    most_recent=Max('user__action__createTime')
).filter(createTime=F('most_recent'))

答案 1 :(得分:0)

您可以使用您想要信息的用户查询Action,例如

actions = Action.objects.filter(user=selected_user).order_by("-createTime")

这将按日期按降序对用户操作进行排序,以获取最新操作:

actions.first()