Трясогузка добавить страницу между двумя существующими страницами - PullRequest
0 голосов
/ 05 сентября 2018

Я использую трясогузку в приложении django с интерфейсом graphql. Wagtail - это только бэкэнд, и я реализую редактор с vuejs и graphql интерфейсом, используя graphene.

Я хотел бы добавить новую страницу между двумя существующими страницами. Порядок страниц зависит от параметра пути страницы. Возможно ли достичь этого без манипулирования параметром пути?

Я могу изменить параметры пути страниц в трясогузке, но мне кажется, что это подвержено ошибкам, а не тому, что создатели трясогузки намеревались это сделать.

1 Ответ

0 голосов
/ 06 сентября 2018

Wagtail использует Django treebeard для обеспечения древовидной структуры страниц, а модель Wagtail Page * модель 1004 * подклассов модели Treebeard Node. Я бы настоятельно не рекомендовал манипулировать параметрами path вручную, что может полностью испортить вашу структуру. Вместо этого используйте API Treebeard для добавления / удаления / перемещения страниц / узлов вокруг.

Метод add_sibling кажется, что он был бы наиболее подходящим, если его использовать следующим образом:

new_page = MyPageModel(
    title='My Title'
    slug='foo'
    ...
)
page = Page.objects.get(path='0001...')
page.add_sibling('right', instance=new_page)

Ваш new_page будет вставлен справа от выбранного вами page, а все остальные страницы после него будут смещены вправо.

...