我试图用我的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
页面时,仅在wagtail管理中显示可用的MyPage
值。
任何想法?
非常感谢:)
答案 0 :(得分:0)
假设您正在寻找从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
祝你好运!答案 1 :(得分:0)
我认为I tackled this problem上的another question
用例有点不同,但基本上我们尝试实现同样的事情:只显示OneToOne关系另一端的可用(即非链接)项。