小编Joa*_*iot的帖子

不同页面模型之间的 Wagtail 多对多链接

是否有人拥有或知道在不同页面模型之间建立多对多关系的秘诀(示例代码和/或说明)?如果我有 PersonPage 和 SitePage 模型,如何连接页面(一个人可以在多个站点工作,一个站点可以有多人在该站点工作)?

\n

这是我发现的与此主题相关但不直接相关的内容\xe2\x80\x94

\n
    \n
  • Wagtail 文档:通过搜索“多对多”,唯一命中的是 taggit 模块上的部分(食谱页面)。

    \n
  • \n
  • Wagtail 文档:对 ParentalManyToManyField 的唯一参考是如何使用它在页面和类别之间创建 M2M 的演示(教程)

    \n
  • \n
  • 这篇 2015 年关于 Wagtail 中 M2M 关系的文章(它在一个 SO“答案”中被引用,与我在这里提出的问题基本相同)。尽管它没有讨论页面与页面的关系,但所提出的方法可能适合工作。我修改后的模仿因各种错误而失败,具体取决于我尝试设置 InlinePanel 调用 \xe2\x80\x94 的方式,但帖子中的示例代码以同样的方式失败,因此要么没有经过测试,要么它\' s 在 2.x 中已过时。

    \n
  • \n
\n
    class PersonPage(Page):\n        pass\n    \n    PersonPage.content_panels =  [\n        InlinePanel(\'ps_links\', label=\'PS Links\'), \n    ]   \n    \n    class PersonSitePageLink():\n        spage = models.ForeignKey(\'SitePage\', on_delete=models.SET_NULL, related_name=\'sites\')\n        ppage = ParentalKey(\'PersonPage\', related_name=\'ps_links\', on_delete=models.SET_NULL,)\n        panels = [\n            FieldPanel(\'spage\')\n        ]\n\n …
Run Code Online (Sandbox Code Playgroud)

wagtail

3
推荐指数
1
解决办法
1065
查看次数

标签 统计

wagtail ×1