在一个 Django 项目中,我有一个使用 MPTT 的分层模型,在 models.py 中定义如下:
class Structure(MPTTModel):
name = models.CharField(max_length=200, unique=True)
parent = TreeForeignKey('self', null=True, blank=True, related_name='children')
[...]
我正在使用 FeinCMS 在管理页面中显示此分层数据。我在 admin.py 中这样做:
class StructureAdmin(tree_editor.TreeEditor):
search_fields = ('name',)
[...]
admin.site.register(Structure, StructureAdmin)
在管理模型页面中,它可以完美运行,并且可以看到层次结构:
它在编辑或添加时也有效:
我在 models.py 中有另一个模型:
class Track(models.Model):
initialStructure = models.ForeignKey(Structure , related_name='track_initialStructure')
finalStructure = models.ForeignKey(Structure, related_name='track_finalStructure')
[...]
但是,当添加此类新元素时,无法看到层次结构:
我尝试将 tree_editor.TreeEditor 用于 Track 的管理视图,但它给出了很多错误,因为 Track 不是分层的,但它的一些 ForeignKey 是。编辑模型轨道的元素时如何显示层次结构?
非常感谢你。