投稿日:2020年11月22日
Wagtailのページの親ページを変更する方法について解説しています。
Wagtailにはページに親子関係を持たせて管理することができます。
この記事では親ページを変更する方法について解説しています。
Wagtailでは各Pageモデルの親子関係をWagtail管理のDBテーブルで管理しているため、そのテーブルを変更する必要があります。
幸い親ページの変更はWagtailの機能で用意されていてmove()メソッドを使用することで実現できます。
今回はBlogPageという子ページを間違えたBlogCategoryページにしてしまったので、正しいBlogCategoryページに修正します。
# python manage.py shell
Python 3.6.9 (default, Aug 14 2019, 13:02:21)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from blog.models import *
>>> blog_page = BlogPage.objects.get(title="【TypeScript】簡単なブロックチェーンのnodejsアプリを作成")
>>> blog_category = BlogCategory.objects.get(uuid="1f67fdab8e004ae1a1b9077d5a30a5d6")
>>> blog_page.blog_category = blog_category
>>> blog_page.move(blog_category, 'last-child')