2016-04-18 8 views
2

ここで私のコードはwagtailであり、そのページに基づいて新しいコンテンツを追加しようとするとTaggableでエラーが発生するのはなぜか分かりません。wagtailでtaggitを正しく使用するには

class BlogPage(Page): 
    body = StreamField([ 
     ('heading', blocks.CharBlock(classname="full title")), 
     ('paragraph', blocks.RichTextBlock()), 
     ('image', ImageChooserBlock()), 
     ('python', TextBlock()), 
    ]) 

    tags = TaggableManager() 

これは私が得るエラーです。

BlogPage objects need to have a primary key value before you can access their tags. 

答えて

1

wagtailページ(http://docs.wagtail.io/en/v1.4.3/reference/pages/model_recipes.html?highlight=tags#tagging)にタグを使用するための具体的なレシピがあります。

from modelcluster.fields import ParentalKey 
from modelcluster.contrib.taggit import ClusterTaggableManager 
from taggit.models import TaggedItemBase 

class BlogPageTag(TaggedItemBase): 
    content_object = ParentalKey('demo.BlogPage', related_name='tagged_items') 

class BlogPage(Page): 
    ... 
    tags = ClusterTaggableManager(through=BlogPageTag, blank=True) 

    promote_panels = Page.promote_panels + [ 
     ... 
     FieldPanel('tags'), 
    ] 
+0

私はこれらすべてをやってみましたが、実際には動作しませんでした。 – Rockink

関連する問題