gpt4 book ai didi

mysql - 如何在 Django ORM(MySQL) 中获取最后日期的记录?

转载 作者:行者123 更新时间:2023-11-30 23:47:17 24 4
gpt4 key购买 nike

我有模型:

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)

我有一个 Reference 的实例,我需要获取所有最近搜索的引用。现在我是这样做的:

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但它不适用于按引用过滤

最佳答案

您可能想使用最新的方法。从文档中,“使用提供的 field_name 作为日期字段按日期返回表中的最新对象。”

https://docs.djangoproject.com/en/1.8/ref/models/querysets/#latest

所以你的查询将是

Search.objects.filter(reference=reference).latest('update_time')

关于mysql - 如何在 Django ORM(MySQL) 中获取最后日期的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31338924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com