Skip to content

Commit 9cc6022

Browse files
authored
Merge pull request #92 from dsanders11/related-does-not-exist
Handle ObjectDoesNotExist for related instances
2 parents 75972ea + a173b1c commit 9cc6022

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

django_elasticsearch_dsl/registries.py

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
from collections import defaultdict
22
from itertools import chain
33

4+
from django.core.exceptions import ObjectDoesNotExist
45
from django.utils.six import itervalues, iterkeys, iteritems
56

67
from .apps import DEDConfig
@@ -44,7 +45,11 @@ def update_related(self, instance, **kwargs):
4445

4546
for doc in self._get_related_doc(instance):
4647
doc_instance = doc()
47-
related = doc_instance.get_instances_from_related(instance)
48+
try:
49+
related = doc_instance.get_instances_from_related(instance)
50+
except ObjectDoesNotExist:
51+
related = None
52+
4853
if related is not None:
4954
doc_instance.update(related, **kwargs)
5055

@@ -57,7 +62,11 @@ def delete_related(self, instance, **kwargs):
5762

5863
for doc in self._get_related_doc(instance):
5964
doc_instance = doc(related_instance_to_ignore=instance)
60-
related = doc_instance.get_instances_from_related(instance)
65+
try:
66+
related = doc_instance.get_instances_from_related(instance)
67+
except ObjectDoesNotExist:
68+
related = None
69+
6170
if related is not None:
6271
doc_instance.update(related, **kwargs)
6372

0 commit comments

Comments
 (0)