gpt4 book ai didi

wagtail - 在 wagtail 中过滤 InlinePanel 中的项目

转载 作者:行者123 更新时间:2023-12-02 01:33:40 26 4
gpt4 key购买 nike

对于一小部分事件,我在页面模型中使用了 InlinePanel。现在我想按日期过滤这些事件,就像我在使用带有子页面的 @property 时所做的那样:date__gte=date.today() 仅显示 future 事件在页面 TourdatenIndexPag 上。如何实现?

我的实现:

class EventItem(LinkFields):
date = models.DateField("Datum")
...

panels = [FieldPanel('date')]

class Meta:
abstract = True


class TourdatenPageEventItem(Orderable, EventItem):
page = ParentalKey('md.TourdatenIndexPage', related_name='event_items')


class TourdatenIndexPage(Page):
...
content_panels = Page.content_panels + [
InlinePanel('event_items', label="Events"),
]

在何处以及如何访问和过滤这些event_items

最佳答案

在您的页面模型上创建一个方法来返回您想要的查询集:

class TourdatenIndexPage(Page):
def future_event_items(self):
return self.event_items.filter(date__gte=date.today())

然后,在你的模板中,你可以引用self.future_event_items:

{% for event in self.future_event_items %}
<li>{{ event.date }}</li>
{% endfor %}

关于wagtail - 在 wagtail 中过滤 InlinePanel 中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32597754/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com