Трясогузка (Django CMS), как добавить одиночное изображение в трясогузку, простая попытка заканчивается «Операционная ошибка нет такого столбца: gallery_gallerysubpage.cover_id» - PullRequest
0 голосов
/ 09 мая 2019

Моя проблема тривиальна, я просто не знаю, как добавить отдельное изображение в качестве миниатюры страницы. Вот моя модель страницы (я попробовал, как показано в Ссылка ImageChooserPanel ):

class GallerySubpage(Page):
    intro = models.CharField(max_length=250)
    body = RichTextField(blank=True)

    # THIS IS TAKEN FROM DOCS
    cover = models.ForeignKey(
        'wagtailimages.Image',
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        related_name='+'
    )

    # This returns some dummy for a while. I want to replace this with some field that contain single Image
    def main_image(self):
        gallery_item = self.gallery_images.first()
        if gallery_item:
            return gallery_item.image
        else:
            return None

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

    content_panels = Page.content_panels + [
        FieldPanel('intro'),
        FieldPanel('body', classname="full"),
        InlinePanel('gallery_images', label = "Images that will be displayed on this page"),

        # THIS IS TAKEN FROM DOCS
        ImageChooserPanel('cover'),

    ]

Когда я запускаю код, я получаю сообщение об ошибке:

OperationalError at /gallery/galerry132/
no such column: gallery_gallerysubpage.cover_id

Ответы [ 2 ]

2 голосов
/ 09 мая 2019

Вышеуказанная ошибка произойдет, если вы не запустили ./manage.py makemigrations и ./manage.py migrate после добавления поля cover.

0 голосов
/ 11 мая 2019

После смены моделей повторно запустите следующее, чтобы сделать это: - python manage.py makemigration - python manage.py мигрировать - python manage.py runserver

...