python - Flask SQLAlchemy order_by relationship -
i'm working flask application have largegroupattendance model references model called attendee. i'm trying request of largegroupattendance objects match criteria, i'm trying sort them column of attendee model - possible? here 2 models below:
""" attendeee class """ class attendee(base): __tablename__ = 'attendee' id = column(integer, primary_key=true) first_name = column(string(200)) last_name = column(string(200)) year = column(string(200)) email = column(string(100), unique=true) dorm = column(string(100)) def __init__(self, first_name, last_name, year, email, dorm): self.first_name = first_name self.last_name = last_name self.year = year self.email = email self.dorm = dorm def __repr__(self): return '<attendee %r>' % self.first_name """ large group attendance class """ class largegroupattendance(base): __tablename__ = 'large_group_attendance' id = column(integer, primary_key=true) first_time = column(integer) large_group_id = column(integer, foreignkey('large_group.id')) large_group = relationship("largegroup", backref=backref('large_group_attendance', order_by=id)) attendee_id = column(integer, foreignkey('attendee.id')) attendee = relationship("attendee", backref=backref('large_group_attendance', order_by=id)) do need add attendee class make possible? , here's query i've tried before, it's had no output (no errors either..). going wrong?
attendance_records = db.session.query(largegroupattendance).filter_by(large_group_id=event_id).order_by(desc(largegroupattendance.attendee.first_name))
i think need add join query, this:
.join(largegroupattendance.attendee) so final query this:
attendance_records = (db.session.query(largegroupattendance). filter_by(large_group_id = event_id). join(attendee, largegroupattendance.attendee). order_by(desc(attendee.first_name)) ) see sqlalchemy: how order query results (order_by) on relationship's field? more detailed explanation
Comments
Post a Comment