diff --git a/wagtail/actions/delete_page.py b/wagtail/actions/delete_page.py index 9ef065691d..3b9a72d92b 100644 --- a/wagtail/actions/delete_page.py +++ b/wagtail/actions/delete_page.py @@ -33,8 +33,8 @@ class DeletePageAction: # works around a bug in treebeard <= 3.0 where calling SpecificPage.delete() fails to delete # child pages that are not instances of SpecificPage if type(page) is Page: - for child in page.get_descendants(): - self.log_deletion(child.specific) + for child in page.get_descendants().specific(): + self.log_deletion(child) self.log_deletion(page.specific) # this is a Page instance, so carry on as we were diff --git a/wagtail/tests/test_audit_log.py b/wagtail/tests/test_audit_log.py index e9fda05a3a..ac0500b2cd 100644 --- a/wagtail/tests/test_audit_log.py +++ b/wagtail/tests/test_audit_log.py @@ -285,7 +285,9 @@ class TestAuditLog(TestCase): ) # check deleting a parent page logs descendent deletion - self.home_page.delete() + with self.assertNumQueries(189): + self.home_page.delete() + self.assertEqual( PageLogEntry.objects.filter(action="wagtail.delete").count(), 4 )