【发布时间】:2013-08-15 09:26:29
【问题描述】:
在我的 django 应用程序中,我有“文档”。每个文档都有一个或多个按创建日期排序的“修订”。我想要一种方法来获取每个文档的最新版本。到目前为止我最好的是下面的代码,但我认为必须有一种方法可以用更少的数据库查询来做到这一点?
def get_document_templates():
result = []
for d in Document.objects.filter(is_template=True).all():
result.append(d.documentrevision_set.latest())
return result
我一直在研究“注释”和“聚合”过滤器,但不知道如何更有效地执行此操作。我宁愿不接触原始 SQL,因为数据库后端可能会在不久的将来发生变化。有人有什么想法吗?
谢谢!!
【问题讨论】:
-
啊,感谢蒂姆,这确实帮助了一些人。看着它,如果没有一些 SQL 注入似乎是不可能的。
-
蒂姆,如果你想用上面的回答我很乐意接受。