我遇到了一個非常大的結果集只返回一行的問題。SQLAlchemy - 當count()表示還有更多的時候,只返回一個結果
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>]
也就是說,all
回報我的模型只有一個例如,而不是100。現在,事情更奇怪:
len(Session.query(TestSet).join(Instance).offset(0).limit(100).distinct().all())
>> 100
所以,如果我all
前加distinct
,我回來全部100個結果。這裏發生了什麼?