Как добавить внешний объект в качестве панели поля в 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.
Удачи!