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 вы вызываете их через другие классы, и когда вы отправляетесь получать объекты, вы должны вызывать эти классы. Надеюсь, что помог, если не оставить комментарий