gpt4 book ai didi

django 最后 30 个条目列表及计数

转载 作者:行者123 更新时间:2023-12-02 11:57:05 30 4
gpt4 key购买 nike

使用 Django 中这样的模型,如何检索 30 天的条目并计算当天添加的条目数。

class Entry(models.Model):
...
entered = models.DateTimeField(auto_now_add=True)

最佳答案

获取最近 30 天的条目很容易:

today = datetime.date.today()
thirty_days_ago = today - datetime.timedelta(days=30)
entries = Entry.objects.filter(entered__gte=thirty_days_ago)

计算每天有多少天要困难得多,因为您存储的是时间戳,而不是天数 - 如果您使用 DateField,您可以只进行简单的聚合。也许最好的办法是每天迭代并计算它们:

from collections import defaultdict
counts = defaultdict(int)
for entry in entries.order_by('entered'):
date = entry.entered.date()
days = (today - date).days
counts[days] += 1

现在 counts 是一个字典,其键是今天之前的天数,值是当天的条目数。

关于django 最后 30 个条目列表及计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1991415/

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