【发布时间】:2011-10-19 11:52:26
【问题描述】:
我遇到了一个非常大的结果集只返回一行的问题。
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 个结果。这是怎么回事?
【问题讨论】:
标签: python database select sqlalchemy