私はProject
モデルへの外部キーであるCategory
モデルのためdjango-mpttを使用しています:標準ModelAdminにdjango-mpttネストされたドロップダウン?
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')
それはMPTTModelAdmin
を使用してCategory
管理者を設定するのは簡単です、parent
カテゴリを選ぶための素敵なネストされたドロップダウンで完了:
from django.contrib import admin
from mptt.admin import MPTTModelAdmin
from myapp.models import Category, Project
admin.site.register(Category, MPTTModelAdmin)
今、私は私のProject
adminに素敵なネストされたCategory
ドロップダウンを含めたいが、標準admin.ModelAdmin
はトンが含まれていません。彼の機能およびサブクラスMPTTModelAdmin
が動作していないよう:
プロジェクトは、「親」
という名前のフィールドが非MPTT管理ツールで、ネストされたドロップダウンを模倣することが可能ではありませんか?あなたはまだすなわち、リンクされたモデルがMPTTModel
であると仮定すると、非MPTTModel
にTreeForeignKey
を使用することができます
タイプ「TreeForeignKeyY」があります。 – blissini