【问题标题】:Wagtail: Can snippets have InlinePanel if the model has a ForeignKey relationship?Wagtail:如果模型具有 ForeignKey 关系,片段可以具有 InlinePanel 吗?
【发布时间】:2016-03-31 15:05:02
【问题描述】:

我遇到过 Wagtail sn-p 是具有 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 是 Page 时才有可能?

【问题讨论】:

  • 您应该将答案标记为正确。

标签: wagtail


【解决方案1】:

您需要将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')
    ]

【讨论】:

  • 别担心!你能把答案标记为正确吗?谢谢。
猜你喜欢
  • 2012-01-14
  • 2018-08-08
  • 1970-01-01
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 2019-09-26
相关资源
最近更新 更多