Запрос в SQLAlchemy с вычислением разницы между двумя датами на Python, SQLite
У меня есть одна таблица (благотворительный проект) с полями name, description, full_amount, invested_amount, fully_invested, create_date, close_date. Мне нужно сделать такой запрос к этой таблице, чтобы он вернул поля name, description и разницу между close_date и create_date. Список должен быть отсортирован по разнице между датами. Я вроде понимаю как написать это на чистом SQL, но не понимаю, как перенести в SQLAlchemy, а именно не удается вычислить разницу между датами и назвать ее каким то образом (as time), чтобы потом использовать это имя в order_by. База данных у меня SQLite. Ниже сама модель и примеры кода на SQL и Python
class CharityProject(Base):
"""Модель проекта."""
name = Column(String(100), unique=True, nullable=False)
description = Column(Text, nullable=False)
full_amount = Column(Integer)
invested_amount = Column(Integer, default=0)
fully_invested = Column(Boolean, default=False)
create_date = Column(DateTime, default=datetime.now)
close_date = Column(DateTime)
# SQL
SELECT name, description, (close_date - create_date) as time
FROM CharityProject
WHERE fully_invested == 1
ORDER_BY time;
# SQLAlchemy
projects = session.execute(
select(
CharityProject.name,
func.datediff(CharityProject.close_date, CharityProject.create_date),
CharityProject.description
).where(CharityProject.fully_invested == 1)).order_by('???')
print(projects.all())