wagtail-admin 中的嵌套 Orderables 验证错误

问题描述

我有嵌套 Orderable 模型的“验证错误”问题。最好先用图片描述:

enter image description here

我有一个名为“CoursePage”的页面类型——在这页面上可以添加多个 Orderables“CourseDates”——此外,每个 CourseDate 可以有一个或多个“CourseTimes”。使用 ParentalKey 建立关系。

CoursePage 有这个多字段内容面板:

MultiFieldPanel(
        [
            InlinePanel(
                "course_dates",max_num=100,min_num=1,label="Date",classname="")
        ],heading="Course dates (add up to 100 dates)",classname="collapsible"
    ),

这是 CourseDates 模型:

class CourseDates(ClusterableModel,Orderable):
"""multiple course dates for the course page."""
page = ParentalKey("kswebsite.CoursePage",related_name="course_dates")

class Meta:
    ordering = ['date']

date = models.DateField(
    "Date",auto_Now=False,auto_Now_add=False,null=True,blank=False,)

panels = [
    FieldPanel("date",classname=""),InlinePanel(
        "course_times",max_num=5,label="Time",heading="Add course times"
    )
]

最后是 CourseTimes 模型:

class CourseTimes(Orderable):
"""multiple course times for the CourseDates Orderable."""
date_parent = ParentalKey(
    "kswebsite.CourseDates",related_name="course_times",on_delete=models.SET_NULL,)

time_from = models.TimeField(
    "From",)
time_to = models.TimeField(
    "To",)
time_description = models.CharField(
    "Descr",max_length=20,default="Kurseinheit",)

panels = [
    FieldRowPanel(
        [
            FieldPanel("time_from",FieldPanel("time_to",],),FieldPanel("time_description",]

我可以成功地将多个 CourseDate 添加一个 CoursePage

然后保存,然后在此日期中添加一个课程时间

但是,每当我选择添加 CourseDate 并同时添加 CourseTime,然后单击保存草稿或发布时,我都会收到以下验证错误

enter image description here

enter image description here

显然,CourseDate 已正确保存,而 CourseTime 未正确保存。

我查看了数据库以更好地了解表之间的关系,我模糊的猜测是 wagtail 试图同时保存 CourseDates 和 CourseTimes。这行不通,因为在 coursedates 表中添加相关 CourseDate 之前,CourseDates 条目/主键必须存在。

长话短说:我如何建议 wagtail 管理面板以正确的顺序保存数据:首先保存到 CourseDates 表 - 然后才保存到 CourseTimes 表。

预先感谢您提供有关如何解决此问题的任何提示! :-)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)