wagtail中的类别未解析

2024-06-02 13:59:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我做错什么了?由于我不断得到无法解析关键字类别的字段错误。在

在此行中引发的异常

services = services.filter(categories__category__name=category)

但是,通过查看代码,可以看到ServiceCategoryServicePage的service_categories字段和serviceContegory之间存在一种关系,ServiceCategoryServicePage的相关名称为“categories”。所以我想不应该抛出一个异常错误Cannot resolve字段。在这一点上的任何帮助将不胜感激。在

^{pr2}$

Tags: 代码name名称关系错误service关键字filter
1条回答
网友
1楼 · 发布于 2024-06-02 13:59:31

当您在线路上调用self.get_children()时:

services = self.get_children().live().order_by('-first_published_at')

结果是一个Page对象的查询集,该查询集只包含对所有页面类型都通用的基本字段,例如title,因此,无法基于categories过滤此查询集。之所以会发生这种情况,是因为Wagtail无法知道ServiceIndexPage的子页面都是ServicePages—有关更完整的解释,请参见https://stackoverflow.com/a/46530443/1853523。在

但是,您可以重写以下行:

^{pr2}$

我们可以确定查询集ServicePage.objects.child_of(self)将只包含ServicePage对象,因此对{}的过滤现在应该可以工作了。在

相关问题 更多 >