例如,假设我有这样的代码:
型号.py
class Application(models.Model):
user = models.ForeignKey("account.Account", on_delete=models.CASCADE)
status_choices = [(1.0, "Waiting for info"),
(2.0, "Processing"),
(3.0, "Problem detected"),
(4.0, "Accepted"),
(5.0, "Rejected")]
status = models.FloatField(choices=status_choices, default=status_choices[0][0])
admin.py
class ApplicationInLine(admin.TabularInline):
models = Application
@admin.register(Account)
class AccountAdmin(UserAdmin):
inlines = (ApplicationInLine,)
现在在Django管理页面上,我想更改用户应用程序状态。 如果我在一个用户下只有一个应用程序,那么我可以使用信号通过电子邮件通知用户状态已更改
但如果我在一个用户下有多个应用程序,例如4,我想在单击admin上的Save按钮之前立即更改所有应用程序状态,那么信号将触发4次
我也尝试过覆盖save方法,但得到了相同的结果
有人知道我怎样才能只发送一次电子邮件,即使一个用户下的多个应用程序发生了变化
ModelAdmin
有一个save_formset()
方法,在保存内联线时调用该方法。重写该方法并检查表单集中的更改怎么样?比如:相关问题 更多 >
编程相关推荐