簡體   English   中英

如何從 StaticBlock 遷移到 StructBlock?

[英]How to migrate from StaticBlock to StructBlock?

我必須將已經存在的StaticBlock更改為StructBlock

class SomeBlock(blocks.StaticBlock):
    pass

    class Meta:
        ...

到:

class SomeBlock(blocks.StructBlock):
    ...

    class Meta:
        ...

但是,如果 wagtail 頁面已經在其中配置了SomeBlock ,我會收到錯誤消息:

NoneType 不可迭代

因為我在StaticBlock中沒有任何東西。 我需要為此編寫自定義數據遷移。

根據列出的架構操作,我找不到更改實際塊類型的方法。 我該如何處理?

StructBlocks 和 StaticBlocks 存在於 StreamFields 中,因此您需要一個特定於 Wagtail 的方法來轉換 StreamField 中的塊。 請參閱https://wagtail.org/blog/google-summer-of-code-toolkit-for-streamfield-data-migrations-in-wagtail/以了解對該問題的討論。 然后你可以使用描述的項目https://github.com/wagtail/wagtail-streamfield-migration-toolkit或者,如果你想試用 Wagtail 4.2rc1,你可以嘗試內置的遷移助手: https://docs .wagtail.org/en/latest/advanced_topics/streamfield_migrations.html#streamfield-data-migrations

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM