У меня есть эта модель:
класс Job (db.Model):
__tablename__ = "job"
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(80), nullable=False)
city = db.Column(db.String(250), nullable=False)
state = db.Column(db.String(10), nullable=False)
zipCode = db.Column(db.String(10), nullable=False)
latitude = db.Column(db.String(10), nullable=False)
longitude = db.Column(db.String(10), nullable=False)
description = db.Column(db.String(200), nullable=False)
narrative = db.Column(db.String(250), nullable=False)
companyLogo = db.Column(db.String(250), nullable=False)
companyName = db.Column(db.String(250), nullable=False)
companyURL = db.Column(db.String(100), nullable=False)
time_created = db.Column(db.DateTime, nullable=False)
active = db.Column(db.Boolean, nullable=False)
Я пытаюсь обновить записи старше 14 дней, как в
@classmethod
def deactivate_old_entries(cls)-> "JobModel":
x_days = date.today() - timedelta(days=14)
return cls.query.filter(Job.time_created < x_days).\
update({"active": (False)})
Я знаю, что часть фильтра работает нормально, потому что она правильно возвращает записи старше 14 дней, в данном случае 11 строк
Возвращаемое значение равно 11, что, по моему мнению, является правильным количеством строк. Но я могуне вижу изменений в столбце, активном для этих 11 строк. Они остаются истинными, когда они должны показывать false
Похоже, что изменения не зафиксированы
Это асинхронная задача, запускаемая из запланированного сельдереяработник.Однако, даже если я запускаю из представления в запросе от POSTMAN, он делает то же самое, то есть возвращает 11, но никаких изменений в столбце, активном в базе данных, не происходит.
Есть идеи, где моя ошибка?