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

2024-06-10 07:48:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我想和我的摇尾车模开个玩笑。在

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

简单示例:

@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值。在

好吧,我只是想隐藏那些不可靠的。在

有什么想法吗?在

非常感谢:)


Tags: 模型true示例modelspage页面contentsnippet
2条回答

假设您要寻找的接口在mysnipet中的值中显示一个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在{a2}

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

相关问题 更多 >