]> git.0d.be Git - django-panik-newsletter.git/commitdiff
ignore concurrent subscribe calls
authorFrédéric Péters <fpeters@0d.be>
Thu, 15 Oct 2020 15:53:26 +0000 (17:53 +0200)
committerFrédéric Péters <fpeters@0d.be>
Thu, 15 Oct 2020 15:53:26 +0000 (17:53 +0200)
newsletter/models.py

index 2534c4335c698460f3fa0312f01cda3d5c2991cb..4786af182e8bcd69a3bf62e582c9b0640dc50e9a 100644 (file)
@@ -11,7 +11,7 @@ from email.mime.text import MIMEText
 
 import html2text
 
-from django.db import models
+from django.db import models, IntegrityError
 from django.core.urlresolvers import reverse
 
 from django.template import loader
@@ -45,7 +45,11 @@ class Subscriber(models.Model) :
             existing_subscriber.is_registered = None
             existing_subscriber.save()
         else:
-            super(Subscriber, self).save(*args, **kwargs)
+            try:
+                super(Subscriber, self).save(*args, **kwargs)
+            except IntegrityError:
+                # probably concurrent calls, skip that.
+                return
             if self.is_validated is None:
                 self.send_confirmation_email()