Запросы в SQLAlchemy
Все алхимики должны знать эти рецепты и держать их в памяти.
Одна колонка
elements = db.session.query(MyClass.id).all()
Значение больше или меньше даты
elements = db.session.query(MyClass).filter(
db.func.date(MyClass.date_start) <= my_date,
db.func.date(MyClass.date_end) >= my_date
).all()
Значение в списке IN
my_list = [...]
elements = db.session.query(MyClass).filter(
MyClass.id.in_(my_list)
).all()
Случайная выборка
import random
my_query = db.session.query(MyClass)
elements_count = int(my_query.count())
random_element = my_query.offset(int(elements_count*random.random())).first()
comments powered by Disqus