Django查询values_list获取最后一个值

时间:2018-02-21 13:02:39

标签: mysql django django-modeladmin

假设我在模型中有一个博客和一个类用户。此外,我有一个与外键相关的课程评论。

class User(models.Model):
    UserName = models.CharField(max_length=50, blank=True)
    UserCountry = models.CharField(max_length=2, blank=True)

class Comment(models.Model):
    commentText = models.TextField(max_length=1000)
    commentSub = models.ForeignKey(User, related_name='comLink')
    created_at = models.DateTimeField(auto_now_add=True)

现在我想在模型管理员中进行csv导出,并且我有一个带有values_list的查询集。

我想知道是否有可能让每个用户一次,例如只有最后一条评论?

myList = queryset.values_list('UserName', 'UserCountry', 'comLink__commentText')

comLink是相关名称。现在我只想要最后的评论。时间戳已存在,我还没有想出如何过滤或反转等。

1 个答案:

答案 0 :(得分:0)

你可以使用Subquery来做,我不知道你的模型设计,所以它大致是这样的:

Dim db_ext1Gb As DAO.Database

Set db_ext1Gb = DBEngine.OpenDatabase(srcPath & "\" & "ext1Gb.accdb", False, False, ";pwd=" & strPassword)

For Each tdf In db_ext1Gb.TableDefs 'Loop through all the table in the external database
    If Left(tdf.Name, 4) <> "MSys" Then  'Exclude System Tables

         On Error Resume Next
         DoCmd.TransferDatabase acLink, "Microsoft Access", srcPath & "\" & "ext1Gb.accdb", acTable, tdf.Name, tdf.Name, , False

         TableDefs.Append tdf
         tdf.RefreshLink
    End If
Next tdf

db_ext1Gb.Close

https://docs.djangoproject.com/en/2.0/ref/models/expressions/#subquery-expressions