Vấn đề là các thuộc tính keys
và các giá trị values
là các phương thức của tập hợp cột bất biến sq_objects.c
. Một giải pháp khác cho vấn đề là sử dụng ký hiệu truy cập mục để lấy các cột thực tế:
func.jsonb_object_agg(
sq_objects.c["keys"],
sq_objects.c["values"]
).over(
partition_by=sq_objects.c.object_id
).label("attributes")