class - Wagtail Pages 属于哪一类?
问题描述
我已经开发了一些以 Wagtail Page 作为基类的类,例如 InfoPage。在应用程序中我必须知道使用哪个类。
如果我使用“类”,我会得到“<class 'wagtail.core.models.Page'>”,但不是例如 InfoPage。
我怎样才能得到班级的名字?
解决方案
您可以通过 检索课程page.specific_class
。
当您在事先不知道结果的页面类型(例如Page.objects.filter(slug='news')
or page.get_children()
)的情况下执行数据库查找时,它将作为基Page
类的实例返回,其中只有 title 和 slug 等公共字段可用。这是因为获取完整的页面数据需要额外的数据库查询,这可能是不必要的(例如,如果您只是输出页面标题列表)。要以最具体的形式访问整个页面对象,请使用page.specific
,或者如果您只想了解类而不进行额外的数据库获取,请使用page.specific_class
。页面查询集还有一种specific()
一次性检索所有特定实例的方法。
推荐阅读
- arduino - 如何诊断 ESP8266/D1 迷你重启循环问题?
- dolphindb - 如何在 DolphinDB 中将集合转换为向量
- sql - SQL Server 2016 - 将整数列转置为逐日行
- javascript - 两次呼叫提示问题
- ios - 如何在 SWIFT 5 中更改对象结构的值
- android - 如何创建一个自定义片段,用它自己的后栈扩展 NavHostFragment?
- jquery - jquery 甘特图问题(与 cirrus-ui 冲突)
- docker - 无法连接到 localhost 端口 9200
- c++ - 在对向量中查找元素的索引
- pyspark - 在 PySpark mllib 中使用随机森林的非法参数异常