From 5514e0ab2c238eb3359e46b15fb284e0d4fbaab8 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Sat, 27 Jun 2020 11:54:06 +0200
Subject: [PATCH] Make foreign key reverse on extensible model behave like
 foreign key

---
 aleksis/core/mixins.py | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/aleksis/core/mixins.py b/aleksis/core/mixins.py
index e55c896e3..7a82ce5cd 100644
--- a/aleksis/core/mixins.py
+++ b/aleksis/core/mixins.py
@@ -263,13 +263,9 @@ class ExtensibleModel(models.Model, metaclass=_ExtensibleModelBase):
         # Add related property on foreign model instance if it provides such an interface
         if hasattr(to, "_safe_add"):
 
-            def _virtual_related(self) -> Optional[models.Model]:
+            def _virtual_related(self) -> models.QuerySet:
                 id_field_val = getattr(self, to_field)
-                try:
-                    return cls.objects.get(**{id_field_name: id_field_val})
-                except cls.DoesNotExist:
-                    # Nothing references us
-                    return None
+                return cls.objects.filter(**{id_field_name: id_field_val})
 
             to.property(_virtual_related, related_name)
 
-- 
GitLab