知道信号是否从django管理中触发[重复]。

问题描述 投票:0回答:2

我需要只有当模型从django admin中保存后才能发送邮件,我尝试了用 sender.user.is_superuser 但我找不到具体的方法

python django django-signals
2个回答
0
投票

你不能用信号做这个,但你可以用你的... ModelAdmin's save_model() 办法.

例如: :

from django.contrib import admin
from django.core.mail import send_mail

class MyModelAdmin(admin.ModelAdmin):
    def save_model(self, request, obj, form, change):
        super().save_model(request, obj, form, change)
        send_mail(...)

0
投票

不可能。

在post_save信号中访问用户的请求。

"做不到。当前用户只能通过请求获得,使用纯模型功能时无法获得。以某种方式访问视图中的用户。"

"Django的模型信号是为了通知其他系统组件与实例及其尊重的数据相关的事件"

可能的解决方案。

https:/stackoverflow.coma351457463466907。

© www.soinside.com 2019 - 2024. All rights reserved.