1

我正试图用我的 Wagtail 模型制造一个把戏。

我有两个模型。第一个是 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')
    ]

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

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

有任何想法吗 ?

非常感谢 :)

4

2 回答 2

0

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

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

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

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

祝你好运!

于 2016-01-31T18:34:17.190 回答
0

我想我在另一个问题上解决了这个问题

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

于 2017-07-12T16:02:39.727 回答