django - 如何在django中获取具有最多相关对象的对象
问题描述
我有模型 A(帖子):
class Post(models.Model):
title = models.CharField(max_length=30)
和模型B(喜欢):
class Like(models.Model):
post = models.ForeignKey(Post, on_delete=models.CASCADE)
如何检索点赞数最多的 Post 对象?
解决方案
可以在Post
对象上标注点赞数,然后在我们按点赞数降序排列时得到.earliest()
[Django-doc] :
from django.db.models import Count
most_liked_post = Post.objects.annotate(
num_likes=Count('like')
).earliest('-num_likes')
推荐阅读
- c++ - 两个元素的 std::vector 的 C++ 反向数组
- c++ - 具有枚举模板参数的模板类的工厂
- python - 如何仅在第 3 列之后删除带有 NaN 的行,
- javascript - Intellisense 在“异步”方法中显示 Promise 的错误属性
- pandas - 将 list-likes 传递给 .loc 或 [] 与任何缺少的标签将在未来引发 KeyError,您可以使用 .reindex() 作为替代
- c++ - 如何将 QFram 覆盖到 QGridLayout 上?
- terminal - 尝试确认 Brownie 已成功安装时出错
- gitlab - 无法在 gitlab 中使用来自 docker 映像的 msbuild
- asp.net - 如何将 Microsoft 身份验证重定向到应用程序代理 URL 而不是内部 URL
- python - 使用 ElementTree 检索信息