我有大约50个以ModelAdmin为基类的管理模型。现在我想删除所有50个模型的删除功能。我认为有两种方式。
我不想改变源代码。他们以任何其他方式做到这一点有两种方式吗?
答案 0 :(得分:0)
3。创建一个具有这两个调整的admin mixin类,并添加到现有50个ModelAdmins的基类
4。 Monkeypatch ModelAdmin(将影响所有模型,而不仅仅是你的50)
5。您管理员的Monkeypatch(如果它是所有您的应用模型,您可以迭代注册管理员并匹配属于您应用的管理员)
我个人会跟3.这些ModelAdmin可能还有其他共同之处吗?添加基类/ mixin是一次性的努力,然后您可以非常轻松地进行其他更改。
P.S。:如果你想确保不删除模型,可能建议确保他们的默认管理器的QuerySet不会删除:https://stackoverflow.com/a/6459797/640759