mirror of
https://github.com/ansible/awx.git
synced 2026-06-19 05:37:42 -02:30
Cast OuterRef('pk') to TextField for RoleUserAssignment.object_id comparison
RoleUserAssignment.object_id is a TextField, but OuterRef('pk') on
Organization produces an integer. PostgreSQL strictly rejects text = integer
comparisons. Use Cast() to explicitly convert the PK to text.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,8 +4,8 @@
|
||||
import dateutil
|
||||
import logging
|
||||
|
||||
from django.db.models import Count, OuterRef, Subquery
|
||||
from django.db.models.functions import Coalesce
|
||||
from django.db.models import Count, OuterRef, Subquery, TextField
|
||||
from django.db.models.functions import Cast, Coalesce
|
||||
from django.db import transaction
|
||||
from django.shortcuts import get_object_or_404
|
||||
from django.utils.timezone import now
|
||||
@@ -188,7 +188,7 @@ class OrganizationCountsMixin(object):
|
||||
return Coalesce(
|
||||
Subquery(
|
||||
RoleUserAssignment.objects.filter(
|
||||
object_id=OuterRef('pk'),
|
||||
object_id=Cast(OuterRef('pk'), output_field=TextField()),
|
||||
role_definition=rd,
|
||||
)
|
||||
.values('role_definition')
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
import logging
|
||||
|
||||
# Django
|
||||
from django.db.models import Count, OuterRef, Subquery
|
||||
from django.db.models.functions import Coalesce
|
||||
from django.db.models import Count, OuterRef, Subquery, TextField
|
||||
from django.db.models.functions import Cast, Coalesce
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
@@ -88,7 +88,7 @@ class OrganizationDetail(RelatedJobsPreventDeleteMixin, RetrieveUpdateDestroyAPI
|
||||
return Coalesce(
|
||||
Subquery(
|
||||
RoleUserAssignment.objects.filter(
|
||||
object_id=OuterRef('pk'),
|
||||
object_id=Cast(OuterRef('pk'), output_field=TextField()),
|
||||
role_definition=rd,
|
||||
)
|
||||
.values('role_definition')
|
||||
|
||||
Reference in New Issue
Block a user