gpt4 book ai didi

Django modelAdmin __init__ 和内联

转载 作者:行者123 更新时间:2023-12-05 00:54:23 27 4
gpt4 key购买 nike

嘿,我对 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 = []

当我在 self.inlines = [] 上方抛出一个 assert (assert False, self.inlines) 时,它正确地显示了内联,但内联仍然出现?即使我已经清空了列表。

帮助赞赏!
谢谢。

最佳答案

ModelAdmin s __init__方法 creates instances of the inline admin classes并将它们添加到 self.inline_instances .所以设置self.inlines之后更改为另一个值不会改变任何东西。你应该找到 this post ,处理类似问题很有帮助!

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

关于Django modelAdmin __init__ 和内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3705075/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com