Le problème est que les attributs keys
et values
sont des méthodes de la collection de colonnes immuables sq_objects.c
. Une autre solution au problème consiste à utiliser la notation d'accès aux éléments pour obtenir les colonnes réelles :
func.jsonb_object_agg(
sq_objects.c["keys"],
sq_objects.c["values"]
).over(
partition_by=sq_objects.c.object_id
).label("attributes")