我正在研究Wagtail应用程序,该应用程序具有许多不同的页面类型RawHTMLLandingPage,MarketingLandingPage等,它们是基本页面LandingPageBase的子代。
如果我正确理解,则子页面类型会知道其父页面类型。但是,父母有可能通过编程方式了解其子女吗?
当我们请求着陆页时,我们还不知道它是什么类型(除了“着陆页”,直到它到达API并查询数据库为止)。
dat[apply(dat[, -1], function(x) sum(x > 30) >= 3), ]
答案 0 :(得分:2)
get_page_models
中有一个wagtail.core.models
函数,该函数返回所有从Page
派生的类,因此可以将列表过滤为仅属于给定子类的那些父母:
from wagtail.core.models import get_page_models
class LandingPageBase(Page):
@classmethod
def identify_children(cls):
return [model for model in get_page_models() if issubclass(model, cls)]