我需要在django服务器中使用类别,我目前正在使用mptt和mptt-admin。这就是我想要做的事情:
#### models.py ####
class File(MPTTModel)
name = models.CharField(max_length=20)
description = models.CharField(max_length=500)
....
parent = mptt.fields.TreeForeignKey('Category', blank=False, null=False, related_name='children', db_index=True)
class Category(MPTTModel):
name = models.CharField('Category', max_length=20, blank=False, unique=True)
parent = mptt.fields.TreeForeignKey('self', blank=True, null=True)
两者都已注册:
mptt.register(Category,)
mptt.register(File, parent = Category)
admin.py
class FileAdmin(admin.ModelAdmin):
fieldsets = [
...
]
list_display = ('name',)
class CategoryAdmin(DjangoMpttAdmin):
tree_title_field = 'name'
tree_display = ('name',)
admin.site.register(File, FileAdmin)
admin.site.register(Category, CategoryAdmin)
我也尝试用ForeignKey替换TreeForeignKey和用models.Model替换MPTTModel,但我得到了相同的结果。
在mysite / admin中,我可以添加类别和文件。每个文件都有一个类别。删除类别时,所有相关文件也会被删除,但如何通过mptt-admin显示包含所有子文件的类别?
顺便说一下,当我在同一个类中创建父项时,所有子文件都已显示。