Как добавить встроенную заказываемую модель в фрагмент трясогузки?
Я хочу иметь возможность добавить встроенную заказываемую модель к фрагменту трясогузки. Приведенный ниже код дает мне сообщение об ошибке, в котором говорится, что я должен использовать ParentalKey для ClusterableModel. Пожалуйста, порекомендуйте.
@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'
1 ответ
Решение
NavCategory
должен наследовать от modelcluster.models.ClusterableModel
:
from modelcluster.models import ClusterableModel
class NavCategory(ClusterableModel):
...