2017-12-20 10 views
0

Wagtail Snippet에 인라인 주문형 모델을 추가하고 싶습니다. 아래 코드는 ClusterableModel에 ParentalKey를 사용해야한다는 오류를 표시합니다. 제발 조언. modelcluster.models.ClusterableModel에서 상속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

NavCategory 요구 :

from modelcluster.models import ClusterableModel 

class NavCategory(ClusterableModel): 
    ...