SQLAlchemy - somente um resultado retornado quando count () diz que há mais

Estou tendo problemas com um conjunto de resultados muito grande retornando apenas uma linha.

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>]

Isso é,all retorna apenas instância do meu modelo, em vez de 100. Agora, para algo ainda mais estranho:

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

Então, se eu adicionardistinct antesall, Recebo de volta todos os 100 resultados. O que está acontecendo aqui

questionAnswers(1)

yourAnswerToTheQuestion