如何解决MPTT-类别树子类别未显示类别
我试图在 Django 环境中使用 mptt 库创建类别和子类别。 mptt lib 安装成功。在 model.py(file) 中创建的 Category(name) 模型。在 Admin.py mptt 中。 MPTT- 类别树子类别未显示在 admin.py 面板中使用以下代码创建的任何类别 MPTTAdmin --> 它不显示任何 list_display 以及类别和子类别值,如下面的附图所示。
[管理员中的类别][1]
它显示了 10 个类别而不是子类别 [1]:https://i.stack.imgur.com/2GtfA.png
# Register your models here.
from product.models import Category,Product,Images
from mptt.admin import DraggableMPTTAdmin
class CategoryAdmin(admin.ModelAdmin):
list_display = ['title','parent','status']
list_filter = ['status']
#mptt
class CategoryAdmin2(DraggableMPTTAdmin):
mptt_indent_field = "title"
list_display = ('tree_actions','indented_title','related_products_count','related_products_cumulative_count')
list_display_links = ('indented_title',)
def get_queryset(self,request):
qs = super().get_queryset(request)
# Add cumulative product count
qs = Category.objects.add_related_count(
qs,'category','products_cumulative_count',cumulative=True)
# Add non cumulative product count
qs = Category.objects.add_related_count(qs,'products_count',cumulative=False)
return qs
def related_products_count(self,instance):
return instance.products_count
related_products_count.short_description = 'Related products (for this specific category)'
def related_products_cumulative_count(self,instance):
return instance.products_cumulative_count
related_products_cumulative_count.short_description = 'Related products (in tree)'
#product pictures
class ProductimageInline(admin.TabularInline):
model = Images
extra = 5
#5 similar pictures
class ProductAdmin(admin.ModelAdmin):
list_display = ['title','status']
list_filter = ['category']
# readonly_fields = ('image_tag',)
inlines = [ProductimageInline]
admin.site.register(Category,CategoryAdmin2)
admin.site.register(Product,ProductAdmin)
admin.site.register(Images)
models.py 文件
class Category(MPTTModel):
STATUS = (
('True','True'),('False','False'),)
#parent = TreeForeignKey('self',blank=True,null=True,related_name='children',on_delete=models.CASCADE)
parent = TreeForeignKey('self',on_delete=models.CASCADE)
title = models.CharField(max_length=50)
keywords = models.CharField(max_length=255)
description = models.TextField(max_length=255)
image=models.ImageField(blank=True,upload_to='images/')
status=models.CharField(max_length=10,choices=STATUS)
slug = models.SlugField(null=False,unique=True)
create_at=models.DateTimeField(auto_Now_add=True)
update_at=models.DateTimeField(auto_Now=True)
def __str__(self):
return self.title
class MPTTMeta:
order_insertion_by = ['title']
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。