From 3a487e0304c722e90bec4c9dd8c40c28bf927bb8 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Thu, 23 Apr 2015 13:16:55 +0100 Subject: [PATCH] Cleanup old raw SQL query This commit replaces an old query that was written before we added the latest_revision_created_at field to Page. We no longer need to use a raw SQL query and the new query should also run a bit faster too. --- wagtail/wagtailadmin/views/home.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/wagtail/wagtailadmin/views/home.py b/wagtail/wagtailadmin/views/home.py index e1db6b0a8..07e9c8bad 100644 --- a/wagtail/wagtailadmin/views/home.py +++ b/wagtail/wagtailadmin/views/home.py @@ -1,5 +1,6 @@ from django.shortcuts import render from django.conf import settings +from django.db.models import F from wagtail.wagtailcore import hooks from wagtail.wagtailcore.models import PageRevision, UserPagePermissionsProxy @@ -31,13 +32,7 @@ class RecentEditsPanel(object): def __init__(self, request): self.request = request # Last n edited pages - self.last_edits = PageRevision.objects.raw( - """ - select wp.* FROM - wagtailcore_pagerevision wp JOIN ( - SELECT max(created_at) as max_created_at, page_id FROM wagtailcore_pagerevision group by page_id - ) as max_rev on max_rev.max_created_at = wp.created_at and wp.user_id = %s order by wp.created_at desc - """, [request.user.id])[:5] + self.last_edits = PageRevision.objects.filter(user=self.request.user, created_at=F('page__latest_revision_created_at')).order_by('-created_at')[:5] def render(self): return render_to_string('wagtailadmin/home/recent_edits.html', {