Используйте INTERVAL внутри SQLAlchemy ORM для MySQL без вызова text () - PullRequest
0 голосов
/ 11 апреля 2019

Попытка преобразовать эту строку sql в SQLAlchemy ORM для Mysql.Возраст сохраняется как целое число, чтобы указать минимальный возраст в каждой стране.Действительно ли необходимо использовать текстовый метод или мы можем сделать это по-другому?

Оригинальный MySQL:

SELECT customer.id AS customer_id 
FROM customer, country 
WHERE country.code = customer.country
AND customer.birth_date > now() - INTERVAL country.age_limit YEAR

Реализация SQLAlchemy до сих пор:

session.query(Customer.id)
.join(Country)
.filter(Country.code == Customer.country)
.filter(Customer.birth_date > (func.now() - text(f"INTERVAL country.age_limit YEAR")))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...