Трясогузка: PageChooserPanel не отображается

Я пытаюсь добавить 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.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
533
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Вздох, я знал, что это что-то глупое. Спасибо!

LazerFriends 15.07.2018 08:37

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