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

Python Wagtail/Django-仅在OneToOneField中列出可用值,python,django,django-models,wagtail,Python,Django,Django Models,Wagtail,我想用我的摇尾模型开个玩笑 我有两个模型。第一个是wagtail片段,第二个是wagtail页面模型。页面模型有一个OneToOneField,它引用我的代码段模型 简单的例子: @register_snippet class MySnippet(models.Model): name = models.CharField(max_length=350) # stuff class MyPage(Page): snippet = models.OneToOneFiel

我想用我的摇尾模型开个玩笑

我有两个模型。第一个是wagtail片段,第二个是wagtail页面模型。页面模型有一个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
。下面是一个完整的示例,如果您没有在代码段中定义
面板


祝你好运

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

    snippet = models.OneToOneField(
        MySnippet,
        blank=True
    )
IIRC,您还必须删除
null=True
。下面是一个完整的示例,如果您没有在代码段中定义
面板

祝你好运

我一直在想

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

我想


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

Hello@flipper感谢您的帮助,我的页面模型工作正常。我已经从MySnippet中的值中选择了一个
,我只是想隐藏那些已经在其他页面中使用的值。例如,我有MySnippet A、B C、D和第1页->片段A、2->片段B、3->片段C。然后,如果我创建第4页,我想从选择中隐藏片段A、B和C。我不知道如果没有一个简单的解决方案,这是否可能啊,正如你所知,我读它就像你得到一个文本输入字段,而不是从代码段中选择一个值。关于这个问题,我将略作探讨,但你可能会更幸运地在Wagtail用户Google组中提问:Hello@flipper谢谢你的帮助,我的页面模型工作得很好。我已经从MySnippet中的值中选择了一个
,我只是想隐藏那些已经在其他页面中使用的值。例如,我有MySnippet A、B C、D和第1页->片段A、2->片段B、3->片段C。然后,如果我创建第4页,我想从选择中隐藏片段A、B和C。我不知道如果没有一个简单的解决方案,这是否可能啊,正如你所知,我读它就像你得到一个文本输入字段,而不是从代码段中选择一个值。关于这个问题,我将略作探讨,但你可能会更幸运地询问Wagtail用户Google组: