Django modelAdmin __init__和内联

hcl*_*iff 3 django class admin

嘿,我是Django的新手,我正在寻找动态编辑管理类变量(完整的想法是隐藏添加的内联,只显示编辑,但我在这里提炼问题).

有人可以解释为什么这不起作用?

class dbTablePermissionInline(admin.TabularInline):
    model = dbPermission

class adminDbTable(admin.ModelAdmin):

    inlines = [
        dbTablePermissionInline,
    ]

    def __init__(self, *args, **kwargs):
        super(adminDbTable,self).__init__(*args, **kwargs)
        self.inlines = []
Run Code Online (Sandbox Code Playgroud)

当我在self.inlines = []之上抛出一个断言(断言False,self.inlines)时,它正确地显示了内联,但内联仍然出现?即使我清空了清单.

帮助赞赏!谢谢.

Ber*_*ant 11

ModelAdmin小号__init__方法创建了在线管理类的实例,并增加了他们self.inline_instances.因此self.inlines,之后设置为其他值不会改变任何内容.你应该找到这篇文章,处理一个类似的问题非常有帮助!

设置这样的值也没有意义__init__,因为Modeladmin实例只创建一次并且可能持续多次请求!