Я столкнулся с проблемой, которая связывала меня весь день.Я использую flask / flask-sqlalchemy / postgresql, и я хочу сделать это:
published_sites = msg_published.query \
.filter( and_(*filter_clause) ) \
.group_by( msg_published.site_id ) \
.order_by( order_clause ) \
.paginate( page_no, per_page, error_out = False )
, но в mysql это нормально, а в postgresql это неправильно и запрашивать другие поля, кроме site_idЯ знаю, что в выражении group by или в функции агрегации postgresql более строг в SQL, чем в mysql, поэтому я должен выбрать site_id в объекте запроса msg_published, но в чистом sqlalchemy я могу сделать так:
published_sites = session.query( msg_published.site_id ) \
.filter( and_(*filter_clause) ) \
.group_by( msg_published.site_id ) \
.order_by( order_clause ) \
.paginate( page_no, per_page, error_out = False )
и как в колбе-sqlalchemy, как заставить это работать?