Есть следующие таблицы в БД:
class Car_Log(db.Model):
rent_id = db.Column(db.Integer, primary_key = True)
car_id = db.Column(db.Integer, db.ForeignKey('car.car_id'))
time_begin = db.Column(db.DateTime, default = datetime.now)
time_end = db.Column(db.DateTime)
time_sum = db.Column(db.Float())
cost = db.Column(db.Float)
class Car(db.Model):
car_id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(150))
availability = db.Column(db.Boolean, default=True)
В одной из предыдущих сессий в таблицу добавляется запись в Car_Log с rent_id (поле уникальное). Т.е. сначала создается запись и добавляется time_begin, привязанное к car_id.
Как в текущей сессии найти последнюю запись с car_id (у которой, естественно, не записано еще time_end) вызвать ее и добавить time_end.
Вопрос только в том как найти запись по car_id
Мой вариант, указанный ниже, не работает:
if request.form.get('rent') == 'rent':
new_car_log = Car_Log()
db.session.add(new_car_log)
car.availability = 0
new_car_log.car_id = car.car_id
new_car_log.time_begin = datetime.now()
if request.form.get('free') == 'free':
new_car_log = session.query(Car_Log).order_by(Car_Log.car_id.desc()).first()
car.availability = 1
new_car_log.time_end = datetime.now()