SQLAlchemy - subconsulta en una cláusula WHERE

Hace poco comencé a usar SQLAlchemy y todavía tengo problemas para entender algunos de los conceptos.

Reducido a los elementos esenciales, tengo dos tablas como esta (esto es a través de Flask-SQLAlchemy):

class User(db.Model):
    __tablename__ = 'users'
    user_id = db.Column(db.Integer, primary_key=True)

class Posts(db.Model):
    __tablename__ = 'posts'
    post_id = db.Column(db.Integer, primary_key=True)
    user_id = db.Column(db.Integer, db.ForeignKey('users.user_id'))
    post_time = db.Column(db.DateTime)

    user = db.relationship('User', backref='posts')

¿Cómo haría para consultar una lista de usuarios y sus publicaciones más recientes (excluyendo a los usuarios sin publicaciones)? Si estuviera usando SQL, haría:

SELECT [whatever]
FROM posts AS p
    LEFT JOIN users AS u ON u.user_id = p.user_id
WHERE p.post_time = (SELECT MAX(post_time) FROM posts WHERE user_id = u.user_id)

Así que sé exactamente el SQL "deseado" para obtener el efecto que quiero, pero no tengo idea de cómo expresarlo "correctamente" en SQLAlchemy.

Edit: en caso de que sea importante, estoy en SQLAlchemy 0.6.6.

Respuestas a la pregunta(2)

Su respuesta a la pregunta