我正在寻找创建一个项目的流场,每个项目都有一个自定义 ID。我创建了一个“ItemBlock”并添加了一个使用 uuid4 填充的“unique_identifier”属性。问题是每个项目都有相同的 uuid。有没有办法为每个 ItemBlock 生成不同的 uuid?
class ItemBlock(blocks.StructBlock):
unique_identifier = blocks.CharBlock(default=uuid.uuid4())
item_name = blocks.CharBlock()
body = blocks.RichTextBlock()
class CategoryBlock(blocks.StructBlock):
title = blocks.CharBlock()
class ListPage(Page):
subtitle = models.CharField(max_length=50)
checklist = StreamField([('category', CategoryBlock()), ('checklist_item', ItemBlock())])
content_panels = Page.content_panels + [
FieldPanel('subtitle'),
StreamFieldPanel('checklist'),
]