#django #wagtail
Вопрос:
Мой класс микширования:
class FeatureList(blocks.StructBlock):
title = blocks.TextBlock(default=None, blank=True, null=True)
description = blocks.ListBlock(blocks.TextBlock(default=None, blank=True, null=True))
button_label = blocks.TextBlock(required=False, default=None, blank=True, null=True)
button_url = blocks.URLBlock(required=False)
и мои модели
class ThreeListsBlock(DefaultFields, ThemeChooser, blocks.StructBlock):
class Meta:
icon = 'grip'
tiles = blocks.ListBlock(FeatureList(), required=True)
Как я могу использовать в трех списках атрибуты блока из FeatureList() без button_url и button_label? Я не хочу создавать микширование списка функций копирования.
Я хочу видеть в трех списках только заголовок и описание. Спасибо
Ответ №1:
Я предлагаю вам создать BasicList
файл с названием и описанием, а затем расширить его как FeatureList
, в котором также будет button_label
и button_url
.
Затем вы можете указать BasicList
в ThreeListsBlock
поле Блок списка.
class BasicList(blocks.StructBlock):
title = blocks.TextBlock(default=None, blank=True, null=True)
description = blocks.ListBlock(blocks.TextBlock(default=None, blank=True, null=True))
class FeatureList(BasicList):
button_label = blocks.TextBlock(required=False, default=None, blank=True, null=True)
button_url = blocks.URLBlock(required=False)
class ThreeListsBlock(DefaultFields, ThemeChooser, blocks.StructBlock):
tiles = blocks.ListBlock(BasicList(), required=True)