bugfix: catching ObjectDoesNotExist in notifications listener

This commit is contained in:
Calum Mackervoy 2020-09-21 17:31:00 +00:00 committed by Jean-Baptiste Pasquier
parent 32f4c8fa0e
commit 3e919022ac

View File

@ -3,6 +3,7 @@ import logging
import requests import requests
from django.conf import settings from django.conf import settings
from django.core.mail import send_mail from django.core.mail import send_mail
from django.core.exceptions import ObjectDoesNotExist
from django.db import models from django.db import models
from django.db.models.signals import post_save, post_delete from django.db.models.signals import post_save, post_delete
from django.dispatch import receiver from django.dispatch import receiver
@ -123,11 +124,13 @@ def send_notification(sender, instance, **kwargs):
(not subscription.is_backlink or not kwargs.get("created")): (not subscription.is_backlink or not kwargs.get("created")):
# I may have configured to send the subscription to a foreign key # I may have configured to send the subscription to a foreign key
if subscription.field is not None and len(subscription.field) > 1: if subscription.field is not None and len(subscription.field) > 1:
instance = getattr(instance, subscription.field, instance)
try: try:
instance = getattr(instance, subscription.field, instance)
url_resource = settings.BASE_URL + Model.resource_id(instance) url_resource = settings.BASE_URL + Model.resource_id(instance)
except NoReverseMatch: except NoReverseMatch:
continue continue
except ObjectDoesNotExist:
continue
process = Thread(target=send_request, args=[subscription.inbox, url_resource, instance, process = Thread(target=send_request, args=[subscription.inbox, url_resource, instance,
kwargs.get("created", False)]) kwargs.get("created", False)])