gpt4 book ai didi

flask - 在 Flask-sqlalchemy 中获取排序结果

转载 作者:行者123 更新时间:2023-12-04 01:56:59 25 4
gpt4 key购买 nike

我有一个 MySQL 数据库,下面是定义的两个模型。

class Agent(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(255), nullable=False, unique=True)
premium_date = db.Column(db.DateTime, nullable=True)

class Property(db.Model):
id = db.Column(db.Integer, primary_key=True)
agent_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
agent = db.relationship('Agent')
title = db.Column(db.String(255), nullable=False)

我正在使用以下查询获取所有属性:properties = models.Property.query.all()

和具有 premium_date 的代理商使用以下查询:agents = models.Agent.query.filter(models.Agent.premium_date is not None).all()

但我想先显示拥有 premium(agent.premium_date) 的代理发布的属性,然后再显示其余属性。(这就像优先考虑优质代理商)。

注意:由于 premium_date 是可选的,一些代理不会成为高级用户,因此该列将为空。

在 Flask-SQLAlchemy 中有没有办法做到这一点?任何帮助都会很棒。

最佳答案

您可以使用 order_by(model.Agent.premium_date.desc()) 将所有具有溢价日期的代理排序到顶部,但是这也会按降序对具有溢价日期的代理进行排序这些日期,这可能不是最佳的。

我认为,更好的选择是分别提取两个列表,然后在 Python 中对它们进行排序和追加,而不是依赖 SQL 来完成。

关于flask - 在 Flask-sqlalchemy 中获取排序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35096259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com