django wagtail按站点id添加页面

django wagtail按站点id添加页面,django,django-models,wagtail,Django,Django Models,Wagtail,我在home/models.py中创建了一个类来创建页面并添加到wagtail cms管理界面中的特定站点,具体取决于站点id和文档 我还在类中继承MenuPage以使用子菜单 但是,当我进行迁移时,即使我更改了继承,也会出现页面继承错误。 请帮忙 from django.db import models from django.contrib.sites.models import Site from django.contrib.sites.managers import CurrentSi

我在home/models.py中创建了一个类来创建页面并添加到wagtail cms管理界面中的特定站点,具体取决于站点id和文档 我还在类中继承MenuPage以使用子菜单 但是,当我进行迁移时,即使我更改了继承,也会出现页面继承错误。 请帮忙

from django.db import models
from django.contrib.sites.models import Site
from django.contrib.sites.managers import CurrentSiteManager
from django.utils import translation

# New imports added for ParentalKey, Orderable, InlinePanel, ImageChooserPanel

from modelcluster.fields import ParentalKey

from wagtail.core.models import Page, PageManager, Orderable
from wagtail.core.fields import RichTextField
from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel, InlinePanel
from wagtail.images.edit_handlers import ImageChooserPanel
from wagtail.search import index
from wagtailmenus.models import MenuPage
from wagtailmenus.panels import menupage_panel



class TranslatedField():
    def __init__(self, en_field, sv_field):
        self.en_field = en_field
        self.sv_field = sv_field

    def __get__(self, instance, owner):
        if translation.get_language() == 'sv':
            return getattr(instance, self.sv_field)
        else:
            return getattr(instance, self.en_field)


class HomePage(MenuPage):
    body = RichTextField(blank=True)
    site = models.ForeignKey(Site, on_delete=models.CASCADE)
    objects = models.Manager()
    on_site = CurrentSiteManager()

    content_panels = MenuPage.content_panels + [
        FieldPanel('body', classname="full"),
        FieldPanel('site'),
    ]


class HomeOnePage(MenuPage):
    body = RichTextField(blank=True)
    site = models.ForeignKey(Site, on_delete=models.CASCADE)
    objects = models.Manager()
    on_site = CurrentSiteManager()


    content_panels = MenuPage.content_panels + [
        FieldPanel('body', classname="full"),
        FieldPanel('site'),
    ]


class BlogIndexPage(MenuPage):
    intro = RichTextField(blank=True)
    site = models.ForeignKey(Site, on_delete=models.CASCADE)
    objects = models.Manager()
    on_site = CurrentSiteManager()

    content_panels = MenuPage.content_panels + [
        FieldPanel('intro', classname="full"),
        FieldPanel('site'),
    ]
class BlogPage(MenuPage):
date = models.DateField("Post date")
intro = models.CharField(max_length=250)
body = RichTextField(blank=True)
site = models.ForeignKey(Site, on_delete=models.CASCADE)
objects = models.Manager()
on_site = CurrentSiteManager()
#translated_title = TranslatedField(
 #   'title',
  #  'title_sv',
#)
#body = TranslatedField(
#    'body_en',
 #   'body_sv',
#)

search_fields = MenuPage.search_fields + [
    index.SearchField('intro'),
    index.SearchField('body'),
]

content_panels = MenuPage.content_panels + [
    FieldPanel('date'),
    FieldPanel('intro'),
    FieldPanel('body', classname="full"),
    FieldPanel('site'),
    InlinePanel('gallery_images', label="Gallery images", help_text = "add photo to your site"),
]


class BlogPageGalleryImage(Orderable):
    page = ParentalKey(BlogPage, on_delete=models.CASCADE, related_name='gallery_images')
    image = models.ForeignKey(
        'wagtailimages.Image', on_delete=models.CASCADE, related_name='+'
    )
    caption = models.CharField(blank=True, max_length=250)

    panels = [
        ImageChooserPanel('image'),
        FieldPanel('caption'),
    ]


SystemCheckError: System check identified some issues:

ERRORS:
home.BlogIndexPage: (wagtailcore.E002) Manager does not inherit from PageManager
    HINT: Ensure that custom Page managers inherit from wagtail.core.models.PageManager
home.BlogPage: (wagtailcore.E002) Manager does not inherit from PageManager
    HINT: Ensure that custom Page managers inherit from wagtail.core.models.PageManager
home.HomeOnePage: (wagtailcore.E002) Manager does not inherit from PageManager
    HINT: Ensure that custom Page managers inherit from wagtail.core.models.PageManager
home.HomePage: (wagtailcore.E002) Manager does not inherit from PageManager
    HINT: Ensure that custom Page managers inherit from wagtail.core.models.PageManager

WARNINGS:
home.BlogIndexPage.site: (wagtailcore.W001) Field hasn't specified on_delete action
    HINT: Set on_delete=models.SET_NULL and make sure the field is nullable or set on_delete=models.PROTECT. Wagtail does not allow simple database CASCADE because it will corrupt its tree storage.
home.BlogPage.site: (wagtailcore.W001) Field hasn't specified on_delete action
    HINT: Set on_delete=models.SET_NULL and make sure the field is nullable or set on_delete=models.PROTECT. Wagtail does not allow simple database CASCADE because it will corrupt its tree storage.
home.HomeOnePage.site: (wagtailcore.W001) Field hasn't specified on_delete action
    HINT: Set on_delete=models.SET_NULL and make sure the field is nullable or set on_delete=models.PROTECT. Wagtail does not allow simple database CASCADE because it will corrupt its tree storage.
home.HomePage.site: (wagtailcore.W001) Field hasn't specified on_delete action
    HINT: Set on_delete=models.SET_NULL and make sure the field is nullable or set on_delete=models.PROTECT. Wagtail does not allow simple database CASCADE because it will corrupt its tree storage.

问题在于线路:

objects = models.Manager()

页面模型上的管理器。但是,在这种情况下,经理没有任何作用,该行应该被忽略。

谢谢。这是正确的,但我仍然收到警告,设置为_delete=models.set_NULL也不起作用,即使设置为延长也是错误的