我将django-mptt用于Category
模型,它是模型的外键Project
:
from django.db import models
from mptt.models import MPTTModel, TreeForeignKey
class Category(MPTTModel):
name = models.CharField(max_length=255)
parent = TreeForeignKeyY('self',
null=True,
blank=True,
related_name='children'
)
class Project(models.Model):
name = models.CharField(max_length=255)
category = models.ForeignKey('Category')
使用设置Category
管理员很容易MPTTModelAdmin
,并带有一个用于选择parent
类别的漂亮嵌套下拉列表:
from django.contrib import admin
from mptt.admin import MPTTModelAdmin
from myapp.models import Category, Project
admin.site.register(Category, MPTTModelAdmin)
现在我想Category
在我的管理员中包含一个很好的嵌套下拉列表Project
,但标准admin.ModelAdmin
不包含此功能并且子类化MPTTModelAdmin
似乎不起作用:
项目没有名为“父”的字段
是否可以在非 MPTT 管理工具中模仿嵌套下拉菜单?