Modelde belirli bir alan değiştirildiğinde e-posta göndermek istiyorum. Mümkün mü? İşte aradığım şey bu. Yöneticinin doğru olduğunu seçtiğinde kullanıcıya e-posta göndermek istediğim bir BooleanField içeren bir profil modelim var. Biliyorum ki "def def (self):" komutuna koyabilirdim, fakat bu model her değiştirildiğinde ve alan doğru olduğunda e-postayı iptal eder. Alanın False (Gerçek) değerinden True (Doğru) olarak değiştirilip değiştirilmesinin sadece bir yolu var mı? Django sinyalleri (http://docs.djangoproject.com/en/dev/ref/signals/#django.db.models.signals.post_save) o fonksiyonu kullanımı standardındaDjango - model değişikliğine e-posta gönder
kullanarak post_save
def save(self):
if self.id:
old_foo = Foo.objects.get(pk=self.id)
if old_foo.YourBooleanField == False and self.YourBooleanField == True:
send_email()
super(Foo, self).save()
Bunun için eğer deyimi değişebilir yalnızca bir e-posta gönderir olabilir: == self.field old.field değilse: – ShawnMilo
Sadece değer False değerinden True olarak değiştirildiği zaman e-posta göndermek istiyor. Yani bu değerlerin eşit olmadığını kontrol etmek yeterli değildir. –
Bir model değiştiğinde herhangi bir eylemi tetiklemek için bir yol arıyordu ... bunun gibi görünüyor. Teşekkürler. –