models.py:
class ProductCategory(MPTTModel): name = models.CharField(_(u'Название'), max_length=255) slug = models.SlugField(u'Slug', max_length=255) parent = TreeForeignKey('self', null=True, blank=True, related_name='children', verbose_name=_(u'Родительская категория')) class MPTTMeta: order_insertion_by = ['name'] class Meta: db_table = 'product_category' verbose_name = _(u'Категория') verbose_name_plural = _(u'Категории') def __unicode__(self): return self.name class Product(models.Model): name = models.CharField(_(u'Название'), max_length=255) slug = AutoSlugField(populate_from='name', editable=True) category = models.ForeignKey(ProductCategory, related_name='category_products', verbose_name=_(u'Категория'), blank=True, null=True, default=None) created = models.DateTimeField(_(u'Создан'), auto_now_add=True, editable=False) description = models.TextField(_(u'Описание'), null=True, blank=True) def __unicode__(self): return self.name
forms.py
class ProductForm(forms.ModelForm): category = TreeNodeChoiceField(label=_(u'Категория'), queryset=ProductCategory.objects.all())
admin.py
class ProductAdmin(admin.ModelAdmin): prepopulated_fields = {'slug': ('name',)} list_display = [ 'name', 'description_html', 'category', 'status', 'created'] list_editable = ['category', 'status'] list_filter = ['status'] search_fields = ['name'] form = ProductForm def description_html(self, obj): return obj.description description_html.short_description = u'Описание' description_html.allow_tags = True
При таком подходе оно отображается в древовидном виде только при переходе на страницу продукта в админке, а вот на странице при отображении списком оно отображается в обычном виде. Подскажите как пофиксить такое?