Python Django查询数据库
这是我的答案模型Python Django查询数据库,python,django,Python,Django,这是我的答案模型 class Answer(models.Model): likes = models.ManyToManyField(User, related_name='answer_likes') timestamp = models.DateTimeField(auto_now=False, auto_now_add=True) 我想过滤掉在过去24小时内得到最多赞的答案。我怎样才能做到这一点 谢谢:)您需要django聚合api。尝试: from datetime
class Answer(models.Model):
likes = models.ManyToManyField(User, related_name='answer_likes')
timestamp = models.DateTimeField(auto_now=False, auto_now_add=True)
我想过滤掉在过去24小时内得到最多赞的答案。我怎样才能做到这一点
谢谢:)您需要django聚合api。尝试:
from datetime import *
from django.db.models import Count
last_24 = datetime.now() - timedelta(hours = 24)
ans = Answer.objects.filter(timestamp__gte = last_24).annotate(counted_likes = Count('likes')).order_by('-counted_likes')
现在,您可以ans[0]。计算喜欢的次数
以找出回答ans[0]的喜欢的次数,并按项排序,确保第一个元素拥有最多的喜欢
有关更多说明,请参阅django中的聚合。您需要django聚合api。尝试:
from datetime import *
from django.db.models import Count
last_24 = datetime.now() - timedelta(hours = 24)
ans = Answer.objects.filter(timestamp__gte = last_24).annotate(counted_likes = Count('likes')).order_by('-counted_likes')
现在,您可以ans[0]。计算喜欢的次数
以找出回答ans[0]的喜欢的次数,并按项排序,确保第一个元素拥有最多的喜欢
请参阅django中的聚合以了解更多解释。工作正常:)谢谢,先生:)工作正常:)谢谢,先生:)