Проблема нечувствительности регистра при использовании предложений тегов в Wagtail

Я изучаю Wagtail и столкнулся со следующей проблемой при настройке тегов.

Я добавил следующие модели:

@register_snippet
class BlogTag(TagBase):
    free_tagging = False
    name = models.CharField(max_length=25, unique=True)
    slug = models.SlugField(max_length=255, unique=True, blank=True)

    class Meta:
        verbose_name = "blog tag"
        verbose_name_plural = "blog tags"

class TaggedBlog(ItemBase):
    tag = models.ForeignKey(
        BlogTag, related_name="tagged_blogs", on_delete=models.CASCADE
    )
    content_object = ParentalKey(
        'home.BlogPage',
        on_delete=models.CASCADE,
        related_name='tagged_items'
    )

Я включил настройку TAGGIT_CASE_INSENSITIVE = True.

Однако, когда пользователь заполняет теги при создании страницы, регистр все равно учитывается - если пользователь вводит слово в нижнем регистре, варианты из выпадающего списка не появляются.

Вот модель, если это имеет значение:

class BlogPage(Page):
    tags = ClusterTaggableManager(through=TaggedBlog, blank=True)
    date = models.DateField("Мы это написали:")
    author = models.ForeignKey(User, on_delete=models.SET_NULL, null=True, blank=True, related_name='blog_pages')
    body = StreamField([
        ('heading', blocks.CharBlock(form_classname="title", label="Заголовок")),
        ('paragraph', blocks.RichTextBlock(label="Текст")),
        ('image', ImageChooserBlock(label="Изображение")),
        ('quote', blocks.BlockQuoteBlock(min_length='20', label="Цитата")),
        ('media', EmbedBlock(label="Ссылка на видео")),
    ], verbose_name='Содержимое')

    content_panels = Page.content_panels + [
        FieldPanel('date'),
        FieldPanel('body'),
        FieldPanel('slug', permission='superuser'),
        FieldPanel('tags'),
    ]

    edit_handler = TabbedInterface([
        ObjectList(content_panels, heading='Центр управления постами'),
        ObjectList(Page.promote_panels, heading='Promote', permission='superuser'),
    ])

    def _get_unique_slug(self):
        slug = slugify(self.title)
        unique_slug = slug
        num = 1
        while Page.objects.filter(slug=unique_slug).exists():
            unique_slug = '{}-{}'.format(slug, num)
            num += 1
        return unique_slug

    def save(self, *args, **kwargs):
        self.slug = self._get_unique_slug()
        super().save(*args, **kwargs)

Пожалуйста, скажите мне, что я делаю неправильно

Я включил настройку TAGGIT_CASE_INSENSITIVE = True

Является ли описанная вами проблема той же самой, что и эта открытая проблема в Django Taggit? https://github.com/jazzband/django-taggit/issues/448

Вернуться на верх