Как добавить внешний объект в качестве панели поля в Wagtail CMS

У меня есть уже существующий проект Django, где я запустил приложение на основе Wagtail. В проекте Django у меня есть модель Map, которую мне нужно сделать доступной также в wagtail-app.

Класс карты Django-проекта в model.py

class Map(..):

Wagtail-app model.py:

class Wagtail-appPage(Page):
    main_image = models.ForeignKey(
       'wagtailimages.Image',
       null=True,
       blank=True,
       on_delete=models.SET_NULL,
       related_name='+'
    )
    map = models.ForeignKey(Map, related_name="map_set", null=True, blank=True)
    date = models.DateField("Post date")
    intro = models.CharField(max_length=250)
    body = RichTextField(blank=True)

    content_panels = Page.content_panels + [
        FieldPanel('date'),
        FieldPanel('intro'),
        FieldPanel('body', classname="full"),
        ImageChooserPanel('main_image'),
        <MapChooserPanel>('map')
    ]

Моя цель - добавить возможность загрузки объектов карты в панель трясогузки (например, MapChooserPanel()) в трясогузку / администратор, как это происходит со стандартными изображениями.

Как бы вы поступили? Звучит очень сложно? Я совершенно новичок в трясогузке..

Заранее благодарю за любую помощь, которую вы окажете.

1 ответ

Решение

Самый простой подход состоит в том, чтобы зарегистрировать модель карты как фрагмент, а затем сослаться на нее со своей страницы с помощью SnippetChooserPanel.

Удачи!

Другие вопросы по тегам