【发布时间】:2022-10-24 14:50:24
【问题描述】:
我有一个名为User 的模型,它有一些字段,还有一些相关模型。
它在管理页面中注册,并且它的一些相关模型被注册为它的内联。
现在,我有一个函数,我们称之为update_api(user),它将用户作为参数(这是User 类的一个实例)并将其发送到API。注意这个函数也使用了User的相关模型。
当用户保存在管理页面中时,我想调用update_api,但我希望更新他的所有字段和相关内联模型。此外,我希望每次保存时只调用一次此函数。
我曾尝试覆盖 User.save() 或 UserAdmin.save_model() 但这让我无处可去,因为那时相关字段尚未更新。
当用户通过视图保存时,我在执行request.user.refresh_from_db() 后最后手动调用此函数。
【问题讨论】:
-
用户和这些其他领域之间的关系是什么? - 它是M2M吗?因为覆盖管理员的
save_method()通常应该可以工作。如果是 M2M 关系,它不会默认情况下工作,但您可以添加obj.save_m2m()然后update_api调用,它应该 -
这是一对多。但是相关字段没有更新...
-
您可以尝试在管理员中覆盖
save_related()调用,只需将其放在save_formset()循环之后
标签: django django-admin