我在这样的模型中有一个表
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()
我想获取两个日期之间有值(value)的数据,就像我保存了数据一样,另一个是我得到的数据像datetime.datetime.now()
Update
当我尝试在我的 view.py 中运行以下内容时
total_for_last_month =request.user.profile.ReviewMonthly (
timestamp__gt=datetime.datetime.now() - relativedelta(months=1)
).aggregate(
total=Sum('value')
)['total']
我收到这个错误
__call__() 收到意外的关键字参数“timestamp__gt”
最佳答案
您可以使用以下方式进行过滤:
ReviewMonthly.objects.filter(<b>timestamp__range=(<i>first_datetime</i>, timezone.now())</b>)
这里first_datetime
是一个包含第一个时间戳的datetime
对象。
如果您想使用日期检查,您可以使用:
ReviewMonthly.objects.filter(
<b>timestamp__date__range=(<i>first_datetime</i>.date(), timezone.now().date())</b>
)
至于其他查询集,您忘记调用.filter(...)
:
total_for_last_month =request.user.profile.ReviewMonthly<b>.filter(</b>
timestamp__gt=datetime.datetime.now() - relativedelta(months=1)
).aggregate(
total=Sum('value')
<b>)</b>['total']
关于python - 获取2个日期之间的表数据django python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57741478/