Django-taggit. Мульти-теги в модели. Получить данные

Вот модель с несколькими тегами. Как мне получить данные из tags_en?tags.names () работает хорошо, но не tags_en.names() и tags_en.all()

from taggit.models import GenericUUIDTaggedItemBase, TaggedItemBase, TagBase
from taggit_selectize.managers import TaggableManager

class UUIDTaggedItem(GenericUUIDTaggedItemBase, TaggedItemBase):
    class Meta:
        verbose_name = _("Tag")
        verbose_name_plural = _("Tags")


class BaseTag (TagBase):
    pass


class UUIDTaggedItemEn (GenericUUIDTaggedItemBase, TaggableManager):
    tag = models.ForeignKey(BaseTag)


class Item(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    tags = TaggableManager(blank=True, through=UUIDTaggedItem)
    tags_en = TaggableManager(blank=True, through=UUIDTaggedItemEn)

Сообщение об ошибке:

FieldError в / admin / item / item /

Не удается разрешить ключевое слово None в поле. Варианты выбора: категория, идентификатор, элемент, имя, слаг, группа тегов, uuidtaggeditemen

1 ответ

Сначала вы должны добавить атрибут Manager к другому классу, как

class UUIDTaggedItemEn (GenericUUIDTaggedItemBase, TaggableManager):
    tag = models.ForeignKey(BaseTag)
    objects = = models.Manager()

тогда вы можете вызвать использование фильтра как

tags_en.objects.filter(id=...)
tags_en.objects.all()

проблема в том, что с несколькими taggablemanager вы вызываете их через другие классы, и когда вы отправляетесь получать объекты, вы должны вызывать эти классы. Надеюсь, что помог, если не оставить комментарий

Другие вопросы по тегам