From 779d98a808cc716a322c3d3e8d35da17ac1f2a24 Mon Sep 17 00:00:00 2001 From: Marc 'risson' Schmitt Date: Fri, 14 Nov 2025 15:30:19 +0100 Subject: [PATCH] packages/django-channels-postgres/layer: fix query when subscribed to multiple channels (#18152) Signed-off-by: Marc 'risson' Schmitt --- .../django_channels_postgres/layer.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/django-channels-postgres/django_channels_postgres/layer.py b/packages/django-channels-postgres/django_channels_postgres/layer.py index 611d97463a..e5e20ebcf0 100644 --- a/packages/django-channels-postgres/django_channels_postgres/layer.py +++ b/packages/django-channels-postgres/django_channels_postgres/layer.py @@ -473,7 +473,7 @@ class PostgresChannelLayerReceiver: """ DELETE FROM {table} - WHERE {table}.{channel} IN (%s) + WHERE {table}.{channel} = ANY(%s) AND {table}.{expires} >= %s RETURNING {table}.{id}, {table}.{channel}, {table}.{message} """ @@ -484,7 +484,7 @@ class PostgresChannelLayerReceiver: expires=sql.Identifier("expires"), message=sql.Identifier("message"), ), - (tuple(self._subscribed_to), now()), + (list(self._subscribed_to), now()), ) async for row in cursor: message_id, channel, message = row