小编Jos*_*ock的帖子

将标签放入 StructBlock

我希望能够向我创建的自定义 StructBlock 添加标记。

当前模型看起来像这样

class MapsIndicatorBlock(blocks.StructBlock):

    text_icon = blocks.CharBlock(
        label='Maps/Indicators Text or Icon',
        required=False
    )

    pop_up_title = blocks.CharBlock(
        label='Pop-Up Title',
        required=False
    )

    pop_up_text = blocks.RichTextBlock(
        label ='Pop-Up Text/Image',
        required=False
    )

    pop_up_colour = blocks.CharBlock(
        choices=constants.BOOTSTRAP4_BUTTON_COLOUR_CHOICES,
        default='btn btn-primary',
        max_length=128,
        required=False
    )

    tags = TaggableManager()

    objects = models.Manager()

    class Meta:
        template = 'cityregiontable/map_indicator_block.html'

Run Code Online (Sandbox Code Playgroud)

TaggableManager() 被设计为与 models.model 一起使用,而不是 blocks.StructBlock。

我试图创建一种使用以下方法来创建标签的方法,但无济于事。我收到错误 RE:无法找到 MapsIndicatorBlock 的模型。这是正确的,因为 MapsIndicatorBlock 是一个块,而不是一个模型。

class MITag(TaggedItemBase):
    content_object = models.ForeignKey(
        'MapsIndicatorBlock',
        on_delete=models.CASCADE,
        related_name='tagged_mi_block'
    )

Run Code Online (Sandbox Code Playgroud)

如何允许块具有元数据标记?

tags django django-models wagtail

1
推荐指数
1
解决办法
358
查看次数

标签 统计

django ×1

django-models ×1

tags ×1

wagtail ×1