Question : SQLAlchemy ordering by count on a many to many relationship
Answered by : samer-saeid
likes = db.Table('likes', db.Column('user_id', db.Integer, db.ForeignKey('user.id')), db.Column('post_id', db.Integer, db.ForeignKey('post.id'))
)
class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(20)) def __repr__(self): return "<User('%s')>" % self.username
class Post(db.Model): id = db.Column(db.Integer, primary_key=True) title = db.Column(db.String(255)) likes = db.relationship('User', secondary = likes, backref = db.backref('posts', lazy='dynamic')) def __repr__(self): return "<Post('%s')>" % self.title
Source : | Last Update : Sun, 22 May 22
Question : SQLAlchemy ordering by count on a many to many relationship
Answered by : samer-saeid
db.session.query(Post, func.count(likes.c.user_id).label('total')).join(likes).group_by(Post).order_by('total DESC')
Source : | Last Update : Sun, 22 May 22