[英]django-mptt nested dropdown in standard ModelAdmin?
我使用的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')
使用MPTTModelAdmin
設置Category
admin很容易,並帶有一個漂亮的嵌套下拉列表來選擇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管理工具中的嵌套下拉菜單?
您仍然可以使用TreeForeignKey
在非MPTTModel
,假設鏈接的模型是一個MPTTModel
,即:
class Project(models.Model):
name = models.CharField(max_length=255)
category = TreeForeignKey('Category')
或者,您可以將字段mptt.forms.TreeNodeChoiceField
mptt.forms.TreeNodeMultipleChoiceField
上mptt.forms.TreeNodeChoiceField
或mptt.forms.TreeNodeMultipleChoiceField
的實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.