I have a small signal connected to post_save of the user model. I want it to only send an email on user creation and not on login as it does in this form.
I've tried with if created: but still sends email on login.
from django.db.models.signals import post_save
def save_profile(sender, instance, created, **kwargs):
print("Signal patched")
subject = 'New Order Created %s'%instance
message = 'Order %s created at %s . Please check if needs further settings!'%(instance, datetime.now())
emailFrom = 'test@test.com'
emailTo = [settings.EMAIL_HOST_USER]
send_mail(subject, message, emailFrom, emailTo, fail_silently=True)
post_save.connect(save_profile, sender=Order)
Trigger it only if it's created.
def save_profile(sender, instance, created, **kwargs):
if created:
print("Signal patched")
subject = 'New Order Created %s'%instance
message = 'Order %s created at %s . Please check if needs further settings!'%(instance, datetime.now())
emailFrom = 'test@test.com'
emailTo = [settings.EMAIL_HOST_USER]
send_mail(subject, message, emailFrom, emailTo, fail_silently=True)
And it seems that it's connected to Order
not to user:
post_save.connect(save_profile, sender=User)