Django查询:通过列表获取所有不同值的最后一个条目

Jam*_*am1 5 django django-models

我正在尝试进行 Django 查询,以获取数据库中每个不同值的最后条目的列表MySQL。我将在下面展示一个例子,因为这个解释可能非常复杂。显然,在 Django 中使用 来获取不同的值是没有问题的.values()。我正在考虑创建几个 Django 查询,但这看起来很麻烦。有没有一种简单的方法可以做到这一点。

对于下面的例子。假设我想要具有不同名称的行及其最后一个条目(最新日期)。

Name            email                 date
_________________________________________________

Dane            dane@yahoo.com        2017-06-20
Kim             kim@gmail.com         2017-06-10
Hong            hong@gmail.com        2016-06-25
Dane            dddd@gmail.com        2017-06-04
Susan           Susan@gmail.com       2017-05-21
Dane            kkkk@gmail.com        2017-02-01
Susan           sss@gmail.com         2017-05-20
Run Code Online (Sandbox Code Playgroud)

所有不同的值是 Dane、kim、Hong、Susan。我还想要具有与这些不同名称关联的最新日期的行。我想要的条目列表是下面的行。注意名称都是不同的,并且与最新日期相关联。

 Name            email                 date
_________________________________________________

Dane            dane@yahoo.com        2017-06-20
Kim             kim@gmail.com         2017-06-10
Hong            hong@gmail.com        2016-06-25
Susan           Susan@gmail.com       2017-05-21
Run Code Online (Sandbox Code Playgroud)

pyp*_*ypy 1

这仅适用于 POSTGRES

您可以使用该ORDER_BY命令将查询集设置为按日期排序,然后与该DISTINCT命令链接以获取不同的行并指定哪个字段。该DISTINCT命令将获取每个名称的第一个条目。请参阅文档了解更多信息

编辑

对于 MYSQL,您必须使用原始 SQL 查询,请参阅此处