PeeWee:select()总是重复前两行

时间:2014-05-05 18:49:45

标签: python sqlite peewee

ids = "1,2,3,4"
idlist = [int(i) for i in ids.split(',')] # [4, 1, 2, 3]
jobs = Job.select().join(User).distinct().where(Job.id << idlist).dicts()

if (jobs.count()):
        for i, job in enumerate(jobs):
            print str(i) + " : " + str(job['id'])

返回:

0 : 1
1 : 2
2 : 1
3 : 2
4 : 3
5 : 4

预期:

0 : 1
1 : 2
2 : 3
3 : 4

造成这种情况的原因是什么? jobs.count()返回4.我甚至添加了distinct(),但似乎没有任何影响,真的令人困惑。

1 个答案:

答案 0 :(得分:1)

如果你在循环中保存sqlite,这可能是问题:

https://github.com/coleifer/peewee/issues/12#issuecomment-5614404