gpt4 book ai didi

python - 如何使用 DatetimeField 列在过去 7 天的 Django 中获取每小时的最后一个对象?

转载 作者:太空宇宙 更新时间:2023-11-04 00:12:17 25 4
gpt4 key购买 nike

我一直在执行从名为“Feeds”的表中过滤值的任务,

该行每 10 分钟插入一次系统。IE。每小时 6 行我将其日期时间存储在名为时间戳的列中。

我想过滤过去 7 天每个这样的小时的最后一行。

这是我的代码。

class Feeds(models.Model):
value = models.FloatField()
timestamp = models.DateTimeField(auto_now_add=True)`

请帮助解决这个问题。谢谢。

最佳答案

获取最近7天的对象,然后获取每个小时的对象,找出日期时间值最大的对象,排除其他对象。

d = datetime.now() - timedelta(days=7)
feeds = Feeds.objects.filter(timestamp__gte=d)
d = d.replace(minute=0, second=0, microsecond=0)
while d <= datetime.now():
temp = feeds.filter(timestamp__range=(d, d + timedelta(hours=1)))
if temp:
temp = temp.exclude(timestamp=temp.all().order_by('-timestamp')[0].timestamp)
for t in temp:
feeds = feeds.exclude(timestamp=t.timestamp)
d += timedelta(hours=1)

关于python - 如何使用 DatetimeField 列在过去 7 天的 Django 中获取每小时的最后一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52112496/

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