我创建了 3 个抽象模型类:(
SimpleContent
仅保留标题、副标题和摘要。所有基于文本)
VisualContent
(图像、富文本字段)
Ctalinkitem
(用于添加 url,可以是页面、外部或文档)
我想创建另一个类,这些类可以包含这些类的组合以形成“类似模块”的类。
例如RichContent
将拥有全部 3 个 TextLinkContent 将拥有 SimpleContent 和 Ctalinkitem
我创建了一个这样的类
class RichContent (SimpleContent, VisualContent, Ctalinkitem):
class Meta:
abstract = True
然后我尝试创建一个指向页面的链接
class LandingPageRichContent(Orderable, RichContent):
page = ParentalKey('LandingPage', related_name='landingpage_richcontent_link')
然后我将其添加到页面中InlinePanel
LandingPage.content_panels = [
FieldPanel('title',classname='full title'),
InlinePanel(LandingPage,'landingpage_richcontent_link', label='Rich Content'),classname='full',heading='Rich Content'),
]
我进行了迁移,没有错误。但是,当我尝试创建一个 时LandingPage
,我只能看到来自SimpleContent
. 我看不到VisualContent
和的任何输入字段Ctalinkitem
。
如果我将声明更改RichContent
为:
class RichContent (VisualContent, SimpleContent, Ctalinkitem):
然后我只能看到来自VisualContent
.
我想知道我是否采取了正确的方法?有什么解决方案可以解决这个问题吗?