Я создал 3 абстрактные классы модели: SimpleContent
(только сохраняя заголовок, подзаголовок и резюме Все основе текста.) VisualContent
(образ, RichText поле) Ctalinkitem
(для добавление URL-адреса, может быть страницей, внешним или документом)ParentalKey не связан со всеми подклассами в трясогузки CMS
Я хочу создать еще один класс, который может включать в себя сочетание этих классов, чтобы сформировать класс, подобный модулю.
например. RichContent
будет иметь все три из них 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
.
Если я изменяю declaratioon из RichContent
в:
class RichContent (VisualContent, SimpleContent, Ctalinkitem):
Тогда я могу видеть только поля из VisualContent
.
Интересно, правильно ли я делаю правильный подход? Есть ли решение обойти это?
Спасибо @michaelpri. Извините, это мой первый пост, здесь я буду уделять больше внимания в следующий раз. – DSO