我正在寻找一种在wagtail.io中实现双向m2m模型的方法。
在Django Admin中,我使用普通的filter_horizontal m2m小部件和自定义通过参数解决了这个问题:
models.py:
class Author(models.Model):
posts = models.ManyToManyField('app.Post', blank=True, through=Post.authors.through)
class Post(models.Model):
authors = models.ManyToManyField('app.Author', blank=True)
I stumbled upon an approach that at least enables a one-way relation using inlines但我无法看到如何解决这个问题以解决我的双向问题。
这是我陷入困境的原因:
在models.py类PostPage(页面)中,我定义了一个InlinePanel:
InlinePanel('related_agents', label="Related Agents"),
然后进一步关闭自定义直通模型(compare to this blog post):
class PostPageRelatedAuthorItem(Orderable):
page = ParentalKey('PostPage', related_name='related_authors')
# one-to-one is the same as ForeignKey with unique=True
author = models.OneToOneField('thoughts.AgentPage')
panels = [
PageChooserPanel('author', 'app.AuthorPage'),
]
是否有双向方式,如果是,您可以帮助我提供一些提示 - 非常感谢提前。
答案 0 :(得分:0)
由于django-modelcluster的一些限制,你不能使用Wagtail的M2M字段。你必须基本上专门设置“通过”模型。
您可以在http://www.tivix.com/blog/working-wagtail-i-want-my-m2ms/
找到所需的所有信息