Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SQLAlchemy如何获得字段的最大值?_Python_Orm_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

Python SQLAlchemy如何获得字段的最大值?

Python SQLAlchemy如何获得字段的最大值?,python,orm,sqlalchemy,flask-sqlalchemy,Python,Orm,Sqlalchemy,Flask Sqlalchemy,我有以下SQLAlchemy类/模型: class MyModel(db.Model): my_id = db.Column(db.Integer, nullable=False, primary_key=True) my_field = db.Column(db.String(128)) 如何在表中找到my_id的最大值 然而,我已经看到,这似乎是一种非常丑陋的方式(我甚至不知道如何将其应用到我的案例中!)。当我想查询此表时,我会执行以下操作: MyModel.query.f

我有以下SQLAlchemy类/模型:

class MyModel(db.Model):
    my_id = db.Column(db.Integer, nullable=False, primary_key=True)
    my_field = db.Column(db.String(128))
如何在表中找到
my_id
的最大值

然而,我已经看到,这似乎是一种非常丑陋的方式(我甚至不知道如何将其应用到我的案例中!)。当我想查询此表时,我会执行以下操作:

MyModel.query.filter(MyModel.my_field == "blah").one()
我不能做一些与此非常类似的操作来查找
my_id
的最大值吗? 理想情况下,我只需替换
过滤器(…)
中的内容,您可以添加一个子句


作品它是否和Max操作一样高效?我想它不是(不过差别应该很小),但我不确定。您可以尝试对其进行分析或检查数据库日志,以确定在每种情况下发出了什么查询。我的结果是:0.27269 s(查询完所有查询后)和3.09944e-06 s(使用func.max后)
MyModel.query.filter(MyModel.my_field == "blah") \
             .order_by(MyModel.my_id.desc()) \ 
             .first()