From b9993a8c1ea5a13ae172ef875ab8d0a01360cbed Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Thu, 26 Jun 2014 09:51:50 +0100 Subject: [PATCH] Page copy now copies child objects --- wagtail/wagtailcore/models.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/wagtail/wagtailcore/models.py b/wagtail/wagtailcore/models.py index a0bae2c99..d8b27d271 100644 --- a/wagtail/wagtailcore/models.py +++ b/wagtail/wagtailcore/models.py @@ -575,7 +575,14 @@ class Page(MP_Node, ClusterableModel, Indexed): # Copy child objects if hasattr(self._meta, 'child_relations'): for child_relation in self._meta.child_relations: - pass + parental_key_name = child_relation.field.attname + child_objects = getattr(self, child_relation.get_accessor_name(), None) + + if child_objects: + for child_object in child_objects.all(): + child_object.pk = None + setattr(child_object, parental_key_name, page_copy.id) + child_object.save() # Copy child pages if recursive: