Flask backref的datetime SQLAlchemy之间的查询
当预订是Flask backref的datetime SQLAlchemy之间的查询,flask,sqlalchemy,flask-sqlalchemy,Flask,Sqlalchemy,Flask Sqlalchemy,当预订是平面的属性时,如何在两个日期之间过滤预订: planes = Plane.query.all() 平面有一个预订的背景参考 plane_id = db.Column(db.Integer, db.ForeignKey('plane.id')) plane = db.relationship('Plane', backref=db.backref('bookings', lazy='dynamic')) 预订有开始和结束日期时间: start_date = db.Column(db.D
平面的属性时,如何在两个日期之间过滤预订
:
planes = Plane.query.all()
平面
有一个预订的背景参考
plane_id = db.Column(db.Integer, db.ForeignKey('plane.id'))
plane = db.relationship('Plane', backref=db.backref('bookings', lazy='dynamic'))
预订
有开始和结束日期时间:
start_date = db.Column(db.DateTime)
end_date = db.Column(db.DateTime)
如何将预订过滤到指定日期,以便飞机只包含过滤后的预订?类似于
session.query(
飞机
).加入(
预订
).过滤器(
Bookings.start\u date>=开始日期,
预订。结束日期
“开始日期”和“结束日期”的类型为datetime.datetime
将它们转换为字符串(类似于“2020-06-2319:40:33”):
*.start\u date=预订.start\u date.isoformat(“”,'秒')
*.end_date=预订.end_date.isoformat(“”,'秒')
获取当前日期为:
currenct_date=datetime.datetime.now().isoformat(“”,'seconds')
session.query(平面).join(预订)
.filter(currenct\u date.between(Bookings.start\u date,Bookings.end\u date).all()
@amiawizard Oops!将=>
替换为=
!!
session.query(
Plane
).join(
Bookings
).filter(
Bookings.start_date >= start_date,
Bookings.end_date <= end_date
).all()