flask-sqlalchemy中distinct的问题

jasonqiao36
  • 107

所有手机销售记录中,id是主键。brand是手机的标识,可以重复。

class PhoneSaleRecord(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    brand = db.Column(db.String(20), nullable=False)
    price = db.Column(db.Integer)
    added = db.Column(db.DateTime)

我想查找,每个手机品牌中,最后录入数据库的手机。

现在已经可以通过两步完成这个目标,先找到所有品牌(不重复):

brands = db.session.query(Phone.brand).dinstinct().all()

再根据brand找到对应的phone

for p in brands:
    Phone.query.filter_by(brand=brand).order_by(Phone.added.desc()).first()

但是由于分页的限制,需要将两个SQL合并为一个。
这个该怎么做呀?

评论
阅读 10.3k
撰写回答

登录后参与交流、获取后续更新提醒

宣传栏