Итак, один из участников моего StreamBlock - RichTextField. Я создал новый StructBlock, содержащий некоторые дополнительные атрибуты для замены / улучшения этого члена.
old:
class MyStreamBlock(StreamBlock):
...
text = RichTextBlock()
...
new:
class MyRTFBlock(StructBlock):
attr1: SomeBlock()
text: RichTextBlock()
class MyStreamBlock(StreamBlock):
...
text = MyRTFBlock()
...
Естественно, новый блок не найдет существующий контент, потому что теперь он вкладывает текст на один уровень глубже. Поэтому я сохранил старое определение поля и добавил новое поле в StreamBlock следующим образом:
class MyStreamBlock(StreamBlock):
...
text = RichTextBlock()
new_text = MyRTFBlock()
...
Но .... Теперь у меня остается два текстовых поля для выбора при добавлении нового раздела в StreamField.
Есть ли способ, которым я мог бы достичь того, что я хочу, либо путем миграции, либо удалив кнопку «Добавить старый текст» из панели редактора StreamField?