首页 > 解决方案 > 在 ModelAdmin 中保存模型时如何检查初始数据?

问题描述

save_model()ModelAdmin.

我想在特定字段更改时做某事(即staus)。所以我想在保存管理员之前知道初始数据,以便我可以将其签入save_model

我知道它本身就有方法__init__,但我只想在 ModelAdmin 中激活代码。__save__Model

下面是示例代码

def save_model(self, request, obj, form, change):
    if obj.status != xxx (intial data?) and obj.status == 7:
        # do sth
    super(CustomAdmin, self).save_model(request, obj, form, change)

概括

提前致谢。

标签: pythondjangoadmin

解决方案


最后我找到了解决方案!

我可以知道所有更改的数据form.changed_data,所以当特定字段在时我可以做某事form.changed_data

像这样

def save_model(self, request, obj, form, change):
    if 'status' in form.changed_data:
        if obj.status != xxx (intial data?) and obj.status == 7:
        # do sth
    super(CustomAdmin, self).save_model(request, obj, form, change)

我希望它会帮助别人!


推荐阅读