如何使用django datetime获得过去24小时的收视率计数?
我有一个有时间戳的型号名称。我想限制用户每天只有3个等级如何获得过去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
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()