2024-05-16 06:11:07 发布
网友
请考虑以下查询:
query = Novel.objects.< ...some filtering... >.annotate( latest_chapter_id=Max("volume__chapter__id") )
实际上,我需要用最新的Chapter对象对每个Novel对象进行注释,所以在这个查询之后,我必须执行另一个查询以通过带注释的id选择实际的对象。我觉得这很难看。有没有办法将它们组合成一个查询?
Chapter
Novel
不,不可能将它们组合成一个查询。
您可以阅读下面的blog post来找到两个解决方法。
是的,有可能。
要获得包含其小说中最后一章的queryset,只需执行以下操作:
from django.db.models.expressions import F from django.db.models.aggregates import Max Chapters.objects.annotate(last_chapter_pk=Max('novel__chapter__pk') ).filter(pk=F('last_chapter_pk'))
在Django 1.7测试。
不,不可能将它们组合成一个查询。
您可以阅读下面的blog post来找到两个解决方法。
是的,有可能。
要获得包含其小说中最后一章的queryset,只需执行以下操作:
在Django 1.7测试。
相关问题 更多 >
编程相关推荐