Я пытаюсь добавить PageChooserPanel в модель связанных ссылок, но она не отображается в админке. Я не получаю ошибок при переносе или загрузке страницы. Вот код:
sua_base / models.py:
class RelatedLinks(models.Model):
page = models.ForeignKey(
'wagtailcore.Page',
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name='+',
)
title = models.CharField(max_length=255, blank=True)
url = models.URLField("Embed URL", blank=True)
panels = [
FieldPanel('title'),
PageChooserPanel('page'),
FieldPanel('url'),
]
class Meta:
abstract = True
verbose_name = "Related Link"
verbose_name_plural = "Related Links"
app / models.py:
from sua_base.models import WebPage, Section, RelatedLinks
class SUAWebPage(WebPage):
sidebar_content_panels = [
InlinePanel('related_links', label = "Related Links")
]
edit_handler = TabbedInterface([
ObjectList(content_panels, heading='Content'),
ObjectList(sidebar_content_panels, heading='Sidebar'),
ObjectList(WebPage.settings_panels, heading='Settings', classname = "settings"),
ObjectList(Page.promote_panels, heading='Promote'),
])
class Meta:
verbose_name = "SUA Web Page"
verbose_name_plural = "SUA Web Pages"
class SUAWebPageRelatedLinks(RelatedLinks, Orderable):
page = ParentalKey(SUAWebPage, related_name='related_links')
Остальные 2 поля (title и url) отображаются нормально, исчезла только PageChooserPanel.






Это не удается, потому что вы используете имя page как для ForeignKey для страницы, на которую вы ссылаетесь (в RelatedLinks), так и для ParentalKey, указывающего обратно на содержащую страницу (в SUAWebPageRelatedLinks). Вам нужно будет переименовать один из них.
Вздох, я знал, что это что-то глупое. Спасибо!