]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Fix: type casting of db values for shared by me filter (#5155)
authorshamoon <4887959+shamoon@users.noreply.github.com>
Fri, 29 Dec 2023 17:19:45 +0000 (09:19 -0800)
committerGitHub <noreply@github.com>
Fri, 29 Dec 2023 17:19:45 +0000 (17:19 +0000)
src/documents/filters.py

index 0f49c7c279ed2282327a45c0454685643518218c..c63484ee28d2956e9c6222c01bf10624297c5095 100644 (file)
@@ -1,7 +1,9 @@
 from django.contrib.contenttypes.models import ContentType
+from django.db.models import CharField
 from django.db.models import Count
 from django.db.models import OuterRef
 from django.db.models import Q
+from django.db.models.functions import Cast
 from django_filters.rest_framework import BooleanFilter
 from django_filters.rest_framework import Filter
 from django_filters.rest_framework import FilterSet
@@ -119,7 +121,7 @@ class SharedByUser(Filter):
                 num_shared_users=Count(
                     UserObjectPermission.objects.filter(
                         content_type=ctype,
-                        object_pk=OuterRef("pk"),
+                        object_pk=Cast(OuterRef("pk"), CharField()),
                     ).values("user_id"),
                 ),
             )
@@ -127,7 +129,7 @@ class SharedByUser(Filter):
                 num_shared_groups=Count(
                     GroupObjectPermission.objects.filter(
                         content_type=ctype,
-                        object_pk=OuterRef("pk"),
+                        object_pk=Cast(OuterRef("pk"), CharField()),
                     ).values("group_id"),
                 ),
             )