展示了如何通过子类化 Page
来自定义
WagtailAdminPageForm
模型的形式,并将子类作为 base_form_class
传递给 Page
模型。它还说:
片段的自定义表单必须是 WagtailAdminModelForm 的子类,页面的自定义表单必须是 WagtailAdminPageForm 的子类。
但是,当我使用片段尝试相同的操作时,出现以下错误:
ModelForm has no model class specified.
我的代码:
class ScheduleAdminForm(WagtailAdminModelForm):
def __init__(self, *args, **kwargs):
print("Constructor of ScheduleAdminForm")
super().__init__(*args, **kwargs)
class Schedule(ClusterableModel):
name = models.CharField(max_length=32)
base_form_class = ScheduleAdminForm
我还尝试将模型添加到
Meta
的
ScheduleAdminForm
类中。但是,我有一个循环使用,我不能像模型字段那样在 Meta.model
的引号中使用模型名称。base_form_class
属性:
class Schedule(ClusterableModel):
name = models.CharField(max_length=32)
class ScheduleAdminForm(WagtailAdminModelForm):
def __init__(self, *args, **kwargs):
print("Constructor of ScheduleAdminForm")
super().__init__(*args, **kwargs)
class Meta:
model = Schedule
fields = ["name"]
Schedule.base_form_class = ScheduleAdminForm