【发布时间】:2015-09-29 02:15:20
【问题描述】:
我有模型:
class Reference(models.Model):
name = models.CharField(max_length=50)
class Search(models.Model):
reference = models.ForeignKey(Reference)
update_time = models.DateTimeField(auto_now_add=True)
我有一个参考实例,我需要获取参考的所有最后搜索。现在我正在这样做:
record = Search.objects.filter(reference=reference)\
.aggregate(max_date=Max('update_time'))
if record:
update_time = record['max_date']
searches = reference.search_set.filter(update_time=self.update_time)
除了一个之外,使用 2 个查询并不是什么大不了的事,但是如果我需要获取页面上每个引用的最后搜索呢?我会得到 2x(引用计数)查询,但效果不好。
我试图使用这个解决方案https://stackoverflow.com/a/9838438/293962,但它不适用于通过引用过滤
【问题讨论】:
标签: mysql django orm aggregation