如何使用django datetime获得过去24小时的收视率计数?

如何使用django datetime获得过去24小时的收视率计数?,datetime,django-models,Datetime,Django Models,我有一个有时间戳的型号名称。我想限制用户每天只有3个等级如何获得过去24小时特定用户的评分计数? class Ratings(models.Model): user = models.ForeignKey(User) book = models.ForeignKey('Books') rating = models.IntegerField(max_length=150) timestamp = models.DateTimeField(auto_now_a

我有一个有时间戳的型号名称。我想限制用户每天只有3个等级如何获得过去24小时特定用户的评分计数?

class Ratings(models.Model):   
    user = models.ForeignKey(User)
    book = models.ForeignKey('Books')
    rating = models.IntegerField(max_length=150)
    timestamp = models.DateTimeField(auto_now_add=True)
    is_checkedin_rating = models.BooleanField()
编辑*
更清楚地说,我想找出某个用户在24小时内的收视率。因此,假设从5/13 12AM到5/14 12AM,获取收视率计数。

不是timestamp=datetime.date.today()只是查找具有时间戳的收视率,即今天的收视率()?是的,它查找特定用户具有时间戳的收视率并返回计数。例如,用户今天有2个等级。这就是你想要的吗?我想我没有解释好,我想在一天内统计一下收视率。所以从5/13 12am到5/14 12am,我会得到用户的评分计数。谢谢你的帮助!
import datetime

today = datetime.date.today()
end_time = datetime.datetime.fromordinal(today.toordinal()) // today at 12:00am or 00:00
start_time = end_time -  datetime.timedelta(days=1) yesterday at 12:00am

count = Ratings.objects.filter(
    user=some_user,
    timestamp__gte=start_time,
    timestamp__lte=end_time
).count()