Wagtail:如果模型具有ForeignKey关系,代码段是否可以具有InlinePanel



我遇到的情况是,Wagtail片段是一个具有FK关系的模型。我不知道如何在CMS中以内联方式提供它。

给定:

@register_snippet
class TeamMember(models.Model):
    name = models.CharField(max_length=80)
    (other fields)
    content_panels = [
        FieldPanel('name'),
        (etc.)
        #InlinePanel('tasks', label="Team Tasks")
]
class Task(models.Model):
    team_member = ForeignKey('TeamMember', related_name='tasks')
    (other fields)

如何允许Task成为TeamMember的内联?

或者只有当TeamMember是一个页面时,这才可能?

您需要将ForeignKey更改为ParentalKey。您可能还需要更改TeamMember类以从ClusterableModel继承。

@register_snippet
class TeamMember(ClusterableModel):
    name = models.CharField(max_length=80)
    panels = [
        FieldPanel('name'),
        InlinePanel('tasks', label="Team Tasks")
    ]
class Task(models.Model):
    team_member = ParentalKey('TeamMember', related_name='tasks')
    task = models.CharField(max_length=80)
    panels = [
        FieldPanel('task')
    ]

最新更新