Problemet er, at attributterne keys og values er metoder til den uforanderlige kolonnesamling sq_objects.c . En anden løsning på problemet er at bruge elementadgangsnotation til at få de faktiske kolonner:
func.jsonb_object_agg(
sq_objects.c["keys"],
sq_objects.c["values"]
).over(
partition_by=sq_objects.c.object_id
).label("attributes")