![](/img/trans.png)
[英]How to render StructBlock which is inside StreamBlock to template?
[英]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.