SQLAlchemy: solo se devuelve un resultado cuando count () dice que hay más

Tengo problemas con un conjunto de resultados realmente grande que solo devuelve una fila.

Session.query(TestSet).join(Instance).count()
>> 4283878
Session.query(TestSet).join(Instance).offset(0).limit(100).count()
>> 100
Session.query(TestSet).join(Instance).offset(0).limit(100).all()
>> [<model.testset.TestSet object at 0x043EC2F0>]

Es decir,all solo devuelveun instancia de mi modelo, en lugar de 100. Ahora, para algo aún más extraño:

len(Session.query(TestSet).join(Instance).offset(0).limit(100).distinct().all())
>> 100

Así que si agregodistinct antes deall, Obtengo los 100 resultados. ¿Que está pasando aqui

Respuestas a la pregunta(1)

Su respuesta a la pregunta