假設我有models.py
以下型號:Django的自我指涉模型在管理網站許多一對多直列樹
class Category(models.Model):
name = models.CharField(max_length=128)
parent = models.ForeignKey('self', null=True, blank=True)
class Item(models.Model):
name = models.CharField(max_length=128)
categories = models.ManyToManyField(Category, related_name='categories')
class Membership(models.Model):
category = models.ForeignKey(Category)
item = models.ForeignKey(Item)
date_assigned = models.DateField()
而且,在Working with many-to-many intermediary models記錄,我有這樣的admin.py
:
class MembershipInline(admin.TabularInline):
model = Membership
extra = 3
class CategoryAdmin(admin.ModelAdmin):
inlines = (MembershipInline,)
class ItemAdmin(admin.ModelAdmin):
inlines = (MembershipInline,)
當創建在管理站點的Item
,類別直列形式的確呈現,但僅僅作爲<select>
窗口小部件,它在某種程度上有些累贅,因爲每個類別被在同一水平所示。
我怎麼能得到這些渲染爲樹?我不需要非常花哨的東西,選擇內的一些縮進就可以。
我嘗試使用django-mptt
和django-treebeard
,但他們似乎沒有涵蓋的內聯中介多對多模型案例。
這是一個充滿希望的想法,但瀏覽器似乎並沒有呈現'
你試過' - '而不是''嗎? –