Wagtail / Django - 仅列出 OneToOneField 中的可用值

Wagtail / Django - Listing only usable values in OneToOneField

我正在尝试用我的鹡鸰模型做个小把戏。

我有两个模型。第一个是 wagtail 片段,第二个是 wagtail Page 模型。页面模型有一个引用我的片段模型的 OneToOneField。

简单示例:

@register_snippet
class MySnippet(models.Model):
    name = models.CharField(max_length=350)
    # stuff


class MyPage(Page):
    snippet = models.OneToOneField(
        'MySnippet',
        blank=True,
        null=True
    )

    content_panels = Page.content_panels + [
        FieldPanel('snippet')
    ]

我正在寻找的是在创建新的 MyPage 页面时仅在 wagtail 管理中显示可用的 MySnippet 值。

嗯,我只是想隐藏不可用的。

有什么想法吗?

非常感谢:)

假设您正在寻找界面来显示 MySnippet 中的值中的单个 select,您必须删除 MySnippet 周围的引号,这会导致 Django 不将其视为相关型号:

    snippet = models.OneToOneField(
        MySnippet,
        blank=True
    )

IIRC,您还必须删除 null=True。这是一个完整的示例,以防您没有在代码段中定义 panels

https://github.com/FlipperPA/wagtailpress/blob/master/wagtailpress/models.py#L29

祝你好运!

我觉得I tackled this problem on another question

用例有点不同,但本质上我们试图实现相同的事情:只显示 OneToOne 关系另一端的可用(即非链接)项目。