具有多对多关系的 django 多态内联管理

hak*_*aki 5 django django-admin django-1.8

与多态模型具有多对多关系的模型是否可以显示堆叠的内联表单(取决于子模型的类型)?

使用文档中的示例,django-polymorphic我试图使ModelA模型列表显示admin.StackedInlineRelatingModel管理页面中,每个模型都有特定的形式。

小智 0

首先,您需要根据相关模型定义内联类

class MyMode1lInline(admin.TabularInline):
    model = MyModel1
    extra = 1
Run Code Online (Sandbox Code Playgroud)

现在您需要将内联连接到 PolymorphicChildModelAdmin

polymorphic_models = (MyModel1, MyModel2, MyModel3)
for child in polymorphic_models:
    @admin.register(child)
    class PolymorphicChildModelAdmin2(PolymorphicChildModelAdmin):
        if child == MyModel1:
            inlines = [MyMode1lInline]
        base_model = child
        show_in_index = False
Run Code Online (Sandbox Code Playgroud)