Использование Трясогузка У меня есть ArticlePage
s, каждый из которых может иметь 0 или более Author
s, которые являются фрагментами.
Я хотел бы получить списокAuthor
s с количеством ArticlePage
s, к которым они присоединены, но не могу понять, как.Я смущен ModelCluster Я думаю, что я буду в порядке с ванильным Джанго.
(Я даже не уверен, что я слишком усложняю это;не нужно, чтобы авторы заказывали статьи ...)
from django.db import models
from modelcluster.fields import ParentalKey
from wagtail.admin.edit_handlers import InlinePanel
from wagtail.core.models import Orderable, Page
from wagtail.snippets.edit_handlers import SnippetChooserPanel
from wagtail.snippets.models import register_snippet
class ArticlePage(Page):
content_panels = Page.content_panels + [
InlinePanel('authors', label='Authors'),
]
@register_snippet
class Author(models.Model):
name = models.CharField(max_length=255, blank=False)
panels = [
FieldPanel('name'),
]
class ArticleAuthorRelationship(Orderable, models.Model):
author = models.ForeignKey(
'Author',
on_delete=models.CASCADE,
related_name='+')
page = ParentalKey(
'ArticlePage',
on_delete=models.CASCADE,
related_name='authors')
panels = [
SnippetChooserPanel('author'),
]
FWIW, я знаю, что могу получить одну статью Author
, используя article.get_usage()
, что удобно!