Bạn sẽ muốn sử dụng FunctionElement.alias()
và cột column()
:
from sqlalchemy import func, select, column
stmt = select([column('col1'), column('col2')]).\
select_from(func.my_function().alias())
Tài liệu đề cập cụ thể Postgresql như một trường hợp sử dụng cho cấu trúc này. Ở trên tạo ra:
SELECT col1, col2
FROM my_function() AS anon_1
Sử dụng tham số _selectable của column()
bạn cũng có thể:
In [4]: fn = func.my_function().alias()
In [5]: stmt = select([column('col1', _selectable=fn),
...: column('col2', _selectable=fn)])
In [6]: print(stmt)
SELECT anon_1.col1, anon_1.col2
FROM my_function() AS anon_1
nhưng vì _selectable không có giấy tờ, đây có thể không phải là một ý kiến hay.