flask-sqlalchemy中distinct的问题

所有手机销售记录中,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合并为一个。
这个该怎么做呀?

阅读 14k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题