【发布时间】:2018-09-11 13:43:04
【问题描述】:
我的 django 应用中有下一个结构:
class A(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100)
time = models.DateTimeField(auto_now_add=True)
我想选择每个名字的最早时间,在数据库中,如:
╔═════╤══════╤════════════╗
║ id │ name │ time ║
╠═════╪══════╪════════════╣
║ 1 │ a │ 2018-09-10 ║
║ 2 │ a │ 2018-09-11 ║
║ 3 │ b │ 2018-09-10 ║
║ 4 │ b │ 2018-09-11 ║
╚═════╧══════╧════════════╝
那么结果应该是:
╔═════╤══════╤════════════╗
║ id │ name │ time ║
╠═════╪══════╪════════════╣
║ 1 │ a │ 2018-09-10 ║
║ 3 │ b │ 2018-09-10 ║
╚═════╧══════╧════════════╝
我知道 raw-sql 是一个解决方案,但是可以使用 django 查询表达式吗?我正在使用 django 1.8。 请帮忙。
【问题讨论】:
-
这看起来不像是 GROUP BY,因为那时
id不会成为结果的一部分。您只想要最早的time,还是“最早”的对象? -
最早的(时间,名称)元组
标签: mysql django django-models