di SQLAlchemy Query.distinct si comporta in modo incoerente:Tornando righe distinte in SQLAlchemy con metodo SQLite
>>> [tag.name for tag in session.query(Tag).all()]
[u'Male', u'Male', u'Ninja', u'Pirate']
>>> session.query(Tag).distinct(Tag.name).count()
4
>>> session.query(Tag.name).distinct().count()
3
Quindi la seconda forma dà il risultato corretto ma la prima forma no. Questo sembra accadere con SQLite ma NON con Postgres. Ho una funzione che viene passato a un oggetto query per avere una clausola distinct
applicata, quindi sarebbe molto difficile riscrivere tutto in alto, utilizzare il secondo approccio sopra. C'è qualcosa di ovvio che mi manchi?
Grazie; Ho visto quel commento nei documenti su "DISTINCT ON" ma dal momento che i documenti non hanno detto esplicitamente "e questo è l'unico modo in cui funziona" o qualcosa del genere, non mi ero reso conto che ciò fosse implicito. –