python - 在 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)
概括
- 保存在管理员中后,我可以知道来自 obj 的初始数据吗?
- 仅保存在管理站点时有什么办法吗?
提前致谢。
解决方案
最后我找到了解决方案!
我可以知道所有更改的数据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)
我希望它会帮助别人!
推荐阅读
- c# - 从 Google 云端硬盘中排除一个文件夹
- google-chrome-extension - Rx.js,Chrome 消息传递 API
- javascript - 这是使用 componentDidMount 的有效方法吗?
- angular - 是否可以在专用的“路由器插座”中显示“PageNotFound”组件?
- asp.net - XML 序列化 - amp;
- javascript - 只允许 6 位数字或 8 位带 2 位小数的数字
- shell - 如何以安全的方式在 Jenkins shell 脚本中传递密码?
- php - 获取所有行在列中有值
- amazon-web-services - 如何保持多个实例之间的文件同步?这样只有一个实例会拾取文件并处理它
- javascript - 为什么我的 JS 对象作为未定义值添加到数组中?