1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Merge pull request #8793 from seros1521/fix_8715

Fixes #8715: eliminates duplicates when used in many-to-many field constraints
This commit is contained in:
Jeremy Stretch
2022-03-07 09:27:14 -05:00
committed by GitHub

View File

@ -39,6 +39,12 @@ class RestrictedQuerySet(QuerySet):
# Any permission with null constraints grants access to _all_ instances # Any permission with null constraints grants access to _all_ instances
attrs = Q() attrs = Q()
break break
else:
# for else, when no break
# avoid duplicates when JOIN on many-to-many fields without using DISTINCT.
# DISTINCT acts globally on the entire request, which may not be desirable.
allowed_objects = self.model.objects.filter(attrs)
attrs = Q(pk__in=allowed_objects)
qs = self.filter(attrs) qs = self.filter(attrs)
return qs return qs