1 回答

TA貢獻1848條經(jīng)驗 獲得超2個贊
如果您希望這種情況在任何地方發(fā)生,我建議向模型save()的方法添加一個覆蓋Post,并在它增加到兩個喜歡時向那里發(fā)送電子郵件。您還可以使用 Django 的send_mail函數(shù),它是發(fā)送電子郵件的一個很好的包裝器。胖模型、瘦視圖、愚蠢模板是 Django 最佳實踐的口頭禪。也許是這樣的:
from django.core.mail import send_mail
class Post(models.Model):
title = models.CharField(max_length=100, unique=True)
likes = models.ManyToManyField(
User, related_name='liked', blank=True)
def __str__(self):
return self.title
def save(self, *args, **kwargs):
if self.total_likes() == 2:
send_mail(
"my subject",
"my text message",
"myemail@myhost.com",
["myuser@theirhost.com"],
html_message="<h1>My HTML Message</h1>",
)
super().save(*args, **kwargs)
def total_likes(self):
return self.likes.count()
祝你好運!
添加回答
舉報