Penapisan Medan Tarikh SQLchemy
Menapis medan tarikh dalam SQLAlchemy membolehkan pemilihan rekod yang tepat dalam julat tarikh yang ditentukan. Pertimbangkan model berikut:
class User(Base): ... birthday = Column(Date, index=True) #in database it's like '1987-01-17' ...
Menapis Julat Tarikh
Untuk menapis pengguna dalam lingkungan umur tertentu, anda boleh memanfaatkan mekanisme penapisan SQLAlchemy:
query = DBSession.query(User).filter( and_( User.birthday >= '1988-01-17', User.birthday <= '1985-01-17' ) )
Walau bagaimanapun, pendekatan ini mengandungi kesilapan menaip. Untuk memilih pengguna yang berumur antara 18 dan 30 tahun, anda harus menukar operator yang lebih besar daripada atau sama dengan (>=) dan kurang daripada atau sama dengan (<=):
query = DBSession.query(User).filter( and_( User.birthday <= '1988-01-17', User.birthday >= '1985-01-17' ) )
Menggunakan Antara
Pendekatan alternatif ialah menggunakan kaedah antara, yang membenarkan spesifikasi langsung tarikh julat:
query = DBSession.query(User).filter( User.birthday.between('1985-01-17', '1988-01-17') )
Atas ialah kandungan terperinci Bagaimana untuk Menapis Medan Tarikh SQLAlchemy dengan Cekap mengikut Julat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!