【发布时间】:2020-04-28 10:28:58
【问题描述】:
有没有办法在连接查询中过滤之前应用 distinct ?
我有 2 张桌子:
class User(db.Model):
id = db.Column(db.Integer(), primary_key=True)
class Event(db.Model):
id = db.Column(db.Integer(), primary_key=True)
date = db.Column(db.DateTime, nullable=False, default=datetime.utcnow)
description = db.Column(db.String(80))
user_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False)
user = db.relationship('User', backref=db.backref('events', lazy=True))
我想选择最近事件描述为空的所有用户。
我认为这会起作用:
User.query.join('events').order_by(Event.date).distinct(User.id).filter(Event.description==None)
但是,似乎在过滤器之后调用了 distinct。有没有办法在过滤之前强制应用 distinct ?
【问题讨论】:
标签: sqlalchemy flask-sqlalchemy