在运行时更改管理类

时间:2018-08-22 19:26:23

标签: python django django-admin

我想以编程方式更改管理类,而无需重新启动服务器。我想例如在运行时更改模型的列表显示。现在,仅当我重新启动服务器时它才会更改...示例(Versionadmin is an extention of modeladmin):

admin.site.unregister(model)

class YourModelAdmin(VersionAdmin):
        list_display = new_list_display

admin.site.register(model, YourModelAdmin)

如果我在admin.py中运行它,则可以使用,但是如果在已设置管理站点的情况下运行它,则不会发生任何变化。知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

进行更改后,您是否尝试过重新加载模块? Python 3 +

function() {
    day1 = document.getElementById('input1').valueAsNumber;
    notes1 = document.getElementById('input2').value;
    day1List = new DayList(day1, notes1);
}

Python 2.7 +

import importlib.reload as reload
reload(admin)