2017-07-11 54 views
1

下面是一個包含多個標籤的模型。如何從tags_en中檢索數據? tags.names()的作品很好,但不tags_en.names()也不tags_en.all()Django-taggit。模型中的多標籤。檢索數據

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在/管理/項目/ item/

無法將關鍵字'None'解析爲字段。選項包括:類別,身份證, 項目,名稱,蛞蝓,taggroup,uuidtaggeditemen

回答

1

首先你應該添加一個管理器屬性的其他類像

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

,那麼你可以調用一樣使用過濾器

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

的問題是與多個taggablemanagers你打電話給他們,雖然其他類和鷗的時候去接受你需要調用這些類的對象。希望有幫助,如果不發表評論

+0

現在它是:'_TaggableManager'對象沒有屬性'objects' –

+0

當你添加對象到其他類時,你是否./manage.py makemigration然後./manage.py遷移? – hansTheFranz

+0

我重新創建了表格。在makemigrations/migrate期間沒有任何問題。 –

相關問題