获取两个日期之间的表数据Django python

2024-03-28 19:08:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张这样样式的桌子

class ReviewMonthly(models.Model):
    user = models.ForeignKey(Profile, on_delete=models.CASCADE, related_name='ReviewMonthly')
    timestamp = models.DateTimeField(auto_now_add=True)
    value = models.FloatField()

我想得到两个日期之间有价值的数据,就像我保存了数据一样,另一个是我得到了datetime.datetime.now()

Update

当我试图在我的视图中运行following.py时

total_for_last_month =request.user.profile.ReviewMonthly (
        timestamp__gt=datetime.datetime.now() - relativedelta(months=1)
    ).aggregate(
        total=Sum('value')
    )['total']

我犯了这个错误

\uu call\uuuu()得到一个意外的关键字参数'timestamp\uu gt'


Tags: 数据gtdatetimemodelvaluemodels样式now
1条回答
网友
1楼 · 发布于 2024-03-28 19:08:56

您可以使用以下选项进行筛选:

ReviewMonthly.objects.filter(timestamp__range=(first_datetime, timezone.now()))

这里first_datetime是包含第一个时间戳的datetime对象

如果要改为使用日期检查,可以使用:

ReviewMonthly.objects.filter(
    timestamp__date__range=(first_datetime.date(), timezone.now().date())
)

至于另一个查询集,您忘记调用.filter(...)

total_for_last_month =request.user.profile.ReviewMonthly.filter(
    timestamp__gt=datetime.datetime.now() - relativedelta(months=1)
).aggregate(
    total=Sum('value')
)['total']

相关问题 更多 >