这是一个包含多个标签的模型。如何从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)
错误信息是:
/ admin / item / item /
中的FieldError无法将关键字“无”解析为字段。选择是:category,id, item,name,slug,taggroup,uuidtaggeditemen
答案 0 :(得分:1)
首先,您应该将Manager属性添加到其他类,如
class UUIDTaggedItemEn (GenericUUIDTaggedItemBase, TaggableManager):
tag = models.ForeignKey(BaseTag)
objects = = models.Manager()
然后你可以调用像
这样的使用过滤器tags_en.objects.filter(id=...)
tags_en.objects.all()
问题在于你通过其他类调用它们的多个taggablemanagers,当你去接收你需要调用这些类的对象时。希望如果不发表评论会有所帮助