Как дать пользователю возможность выбрать коллекцию трясогузок на странице? - PullRequest
0 голосов
/ 30 ноября 2018

Я ищу способ показать список коллекции трясогузок в виде поля на странице (точно так же, как при загрузке изображения).Пользователь может выбрать коллекцию, а я могу программно отфильтровать изображения для выбранной коллекции.Я все еще новичок в трясогузке, и я не уверен, как мне реализовать это в коде.

Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 04 декабря 2018

Так что есть несколько способов сделать это.Первый и, вероятно, наименее идеальный способ - зарегистрировать Collection как сниппет и использовать SnippetChooserPanel.

"""Register Collection snippet."""
from wagtail.snippets.models import register_snippet
from wagtail.core.models import Collection

# Register Collections as Snippets so we can use the SnippetChooserPanel to select a collection
register_snippet(Collection)

. И тогда в вашей модели вы можете использовать SnippetChooserPanel, вот так (обратите внимание, этоэто весь непроверенный код)

from django.db import models
from wagtail.core.models import Page

class CustomPage(Page):

    # ...
    collection = models.ForeignKey(
        'wagtailcore.Collection',
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        related_name='+',
    )

    content_panels = Page.content_panels + [
        # ...
        SnippetChooserPanel('collection'),
    ]

@ gasman Комментарий к ответу содержит ссылку на другое решение, гораздо более элегантное, чем у меня.

...