Мне нужна помощь в переводе команды sql для работы с Flask.
Я пытаюсь отфильтровать результаты запроса. Эта команда ниже делает то, что мне нужно в MySQL:
select t.date, t.name from `capacitydata`.`allflash_dev` t
inner join (
select name, max(date) as MaxDate
from `capacitydata`.`allflash_dev` group by name)
tm on t.name = tm.name and t.date = tm.MaxDate;
Но я безуспешно пытаюсь сделать то же самое на Flask.
Пока запрос работает, но показывает все строки
# Creating Models
class Block(db.Model):
__tablename__ = "allflash_dev"
index = db.Column(db.Date, nullable=False, unique=True, primary_key=True)
date = db.Column(db.Date, nullable=False)
name = db.Column(db.String(45), nullable=False)
raw = db.Column(db.String(45), nullable=False)
free = db.Column(db.String(45), nullable=False)
frep = db.Column(db.String(45), nullable=False)
util = db.Column(db.String(45), nullable=False)
utip = db.Column(db.String(45), nullable=False)
def create_db():
with app.app_context():
db.create_all()
# Home route
@app.route("/")
def block():
details = Block.query.order_by(Block.date.desc())
return render_template("block.html", details=details)
Заранее спасибо.
Я пробовал что-то подобное, но не помогло:
details = db.select([Block.name, db.func.max(Block.date)]).group_by(Block.date, Block.name)
Подробнее здесь: https://stackoverflow.com/questions/787 ... sqlalchemy