我有一个型号名称,其中有一个时间戳。我想将用户限制为每天只有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日上午12点到5点14分12点,获得评分数。
答案 0 :(得分:1)
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()