假设我的WeatherReport
对象包含字段date
,temperature
和city
。
我想获取每个城市的所有最新WeatherReport
个对象。我想我会做点像
WeatherReport.objects.order_by('-date').distinct('city')
但是失败了,返回错误
ProgrammingError: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
答案 0 :(得分:3)
这应该有效。当我遇到这个问题时,它与我合作。
WeatherReport.objects.order_by('city', '-date').distinct('city')
似乎DISTINCT ON
表达式必须与最左边的ORDER BY
表达式匹配。因此,通过将distinct
中使用的列作为order_by
中的第一列,我认为它应该可行。