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 关系另一端的可用(即非链接)项目。
我正在尝试用我的鹡鸰模型做个小把戏。
我有两个模型。第一个是 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 关系另一端的可用(即非链接)项目。