代码工作良好,没有子查询,为什么要使用它?


newest = Comment.objects.filter(post=OuterRef('pk')).order_by('-created_at')
posts = Post.objects.annotate(newest_commenter_email=Subquery(newest.values('email')[:1]))

,

newest = Comment.objects.filter(post=OuterRef('pk')).order_by('-created_at')
posts = Post.objects.annotate(newest_commenter_email=newest.values('email')[:1])

两者都可以,那么为什么使用Subquery,它的优点是什么?

子查询可以使编写复杂查询变得更容易,因为您可以将查询分解为更小、更易于管理的部分。如何使用子查询

在你的例子中,这个查询并没有那么复杂。

相关内容

  • 没有找到相关文章

最新更新