sql – Django ORM – 获取组的最新记录
|
想象一下,我们有Django ORM模型Meetup,其定义如下: class Meetup(models.Model):
language = models.CharField()
date = models.DateField(auto_now=True)
我想为每种语言取一个最新的聚会. 看起来你可以使用Django Aggregates来简化这种查找: Meetup.objects.annotate(latest_date=Max("date")).values("language","latest_date")
在我看来,这应该取得每种语言的“最新”聚会.但事实并非如此: >>> Meetup.objects.create(language='python')
<Meetup: Meetup object>
>>> Meetup.objects.create(language='python')
<Meetup: Meetup object>
>>> Meetup.objects.create(language='node')
<Meetup: Meetup object>
>>> Meetup.objects.create(language='node')
<Meetup: Meetup object>
>>> Meetup.objects.annotate(latest_date=Max("date")).values("language","latest_date").count()
4
我期望得到两个最新的Python和Node聚会! 如何构建一个只能获取每种语言的最新聚会的查询? PS.我使用MySQL作为我的后端. 解决方法将您的values子句放在注释之前.从aggregation docs:
所以这应该这样做: Meetup.objects.values('language').annotate(latest_date=Max('date')) (编辑:天瑞地安资讯网_保定站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql-server – 从SQL Server事务日志文件中恢复已删除的行
- 根据表名和索引获取需要的列名的存储步骤
- sql – 如何在(select)语句中最好地组织内部联接
- sql – dba_jobs_running:尝试从过程访问时,表或视图不存在
- sql-server – 如何使用外部SQL数据库中的数据填充SharePoi
- 如何让SQL识别WHERE column = NULL?
- sql-server – 如何级联删除多对多表
- sql-server – 为什么在SQL Server 2012中设置空结果的查询
- sql – 访问2007中的switch的默认值
- sql – 当结果集很大时,RODBC会丢失datetime的时间值
- sql-server – 来自不同进程中相同临时表的锁的死
- sql存储过程有何好处?怎样创建和使用?
- sql-server – 在IF EXISTS中包装查询使得它非常
- sql-server – 在SSMS 2012中格式化T-SQL
- sql-server – SQL Server包装选择…将查询插入隐
- 使用.NET或MS SQL模拟MySql的密码()加密
- sql-server – 如何在SQL Server中附加数据库?
- sql-server – DELETE vs TRUNCATE
- 如何选择和排序不在Groupy中的列按SQL语句 – Or
- sql-server – SQL Server审计跟踪的最佳实践

