Wagtail CMS(Django) - Отображение полей встроенной модели в связанной модели

У меня есть две пользовательские модели (не наследующиеся от Page), которые предназначены для администратора на сайте Wagtail CMS. Я могу заставить их работать в обычном Django, но в Wagtail я не могу заставить отображаться встроенные поля модели. Я получаю key error. Код...

On model.py:

from django.db import models
from wagtail.admin.panels import (
    FieldPanel,
    MultiFieldPanel,
    FieldRowPanel,
    InlinePanel,
)

from author.models import Author


class Book(models.Model):
    author = models.ForeignKey(Author, on_delete=models.CASCADE)
    date = models.DateField("Date released")

    panels = [
        MultiFieldPanel([
            InlinePanel('book_review'),
        ], heading="Book reviews"),
    ]


class BookReview(models.Model):
    book = models.ForeignKey(
        Book, on_delete=models.CASCADE, related_name='book_review')
    title = models.CharField(max_length=250)
    content = models.TextField()
    
    panels = [
        FieldRowPanel([
            FieldPanel('title'),
            FieldPanel('content'),
        ])
    ]

и wagtail_hooks.py:

from wagtail.contrib.modeladmin.options import (
    ModelAdmin,
    modeladmin_register,
)
from .models import Book, BookReview


class BookAdmin(ModelAdmin):
    model = Book
    add_to_settings_menu = False
    add_to_admin_menu = True
    inlines = [BookReview] # only added this after key error, but it didn't help


modeladmin_register(BookAdmin)

Как я могу заставить строку InlinePanel('book_review'), отображаться в админке. Все работает, пока я не попробую добавить встроенные поля модели.

Я искал в интернете, и там упоминался сторонний пакет Django modelcluster. Это все еще требуется? Те сообщения были довольно старыми (5 лет или около того). Или вместо ForeignKey использовать ParentalKey, но это только если наследоваться от Page model.

Попробуйте изменить модель Book, чтобы она наследовалась от ClusterableModel (которая сама наследуется от models.Model)

from modelcluster.models import ClusterableModel

class Book(ClusterableModel):
Вернуться на верх