2017-12-20 13 views
0

Wagtail Snippetにインラインで注文可能なモデルを追加したいと考えています。以下のコードでは、ClusterableModelにParentalKeyを使用する必要があるというエラーが表示されます。お知らせ下さい。Wagtail Snippetにインラインで注文可能なモデルを追加するにはどうすればよいですか?

@register_snippet 
@python_2_unicode_compatible 
class NavCategory(models.Model): 
    title = models.CharField(max_length=200) 

    panels = [ 
     FieldPanel('title'), 
     InlinePanel('nav_item', label='Pages') 
    ] 

    def __str__(self): 
     return self.title 

    class Meta: 
     verbose_name_plural = 'nav categories' 
     ordering = ['title'] 


class NavItem(Orderable): 
    category = ParentalKey(
     'core.NavCategory', 
     related_name='nav_item' 
    ) 
    link = models.ForeignKey(
     'wagtailcore.Page', 
     null=True, 
     blank=True, 
     on_delete=models.SET_NULL, 
     related_name='+', 
    ) 

    panels = [ 
     PageChooserPanel('link') 
    ] 

    def __str__(self): 
     return self.category.title + ' -> ' + self.nav_item.link 

    class Meta(Orderable.Meta): 
     verbose_name = 'Nav Item' 
     verbose_name_plural = 'Nav Items' 

答えて

2

NavCategorymodelcluster.models.ClusterableModelから継承する必要があります。

from modelcluster.models import ClusterableModel 

class NavCategory(ClusterableModel): 
    ... 
関連する問題