小编her*_*mos的帖子

Django limit_choices_to用于具有"或"条件的多个字段

我试图通过检查两列"share_holder"和"distributor"的值来限制字段的选择.如果它们中的任何一个是真的,那么我想要那个选择.

在下面的版本中,我只有满足两个条件的选择('share_holder':True AND'distributor':True).

limit_choices_to={'share_holder': True, 'distributor': True}
Run Code Online (Sandbox Code Playgroud)

但是,我需要选择('share_holder':True OR''distributor':True).

django limit-choices-to

9
推荐指数
1
解决办法
6456
查看次数

python多处理冻结

我试图用Python实现多处理.它可以在汇集非常快速的任务时工作,但是当汇集更长的任务时会冻结.请参阅下面的示例:

from multiprocessing import Pool
import math
import time

def iter_count(addition):
    print "starting ", addition
    for i in range(1,99999999+addition):
        if i==99999999:  
            print "completed ", addition
            break

if __name__ == '__main__':
    print "starting pooling "
    pool = Pool(processes=2)
    time_start = time.time()
    possibleFactors = range(1,3)   

    try: 
        pool.map( iter_count, possibleFactors)
    except:
        print "exception"

    pool.close()
    pool.join()      

    #iter_count(1)
    #iter_count(2)
    time_end = time.time()
    print "total loading time is : ", round(time_end-time_start, 4)," seconds"
Run Code Online (Sandbox Code Playgroud)

在这个例子中,如果我在for循环中使用较小的数字(类似9999999)它可以工作.但是当它运行99999999时会冻结.我尝试按顺序运行两个进程(iter_count(1)iter_count(2)),大约需要28秒,所以不是一个大任务.但是当我把它们汇集起来时它会冻结.我知道python中存在一些已知的多处理错误,但在我的情况下,相同的代码适用于较小的子任务,但冻结较大的子任务.

python pool multiprocess python-2.7

5
推荐指数
1
解决办法
2315
查看次数

python在多个循环中迭代多个列表

我需要迭代多个列表,并为匹配记录做一些计算:

for (a,b,c,d) in list1:
   for (a2,b2,e) in list2:
       if (a==a2) and (b==b2):
           mylist.add(a,b,c,d,e,d*e)
Run Code Online (Sandbox Code Playgroud)

有没有一种有效的方法来进行上述计算.非常感谢.

python loops list

2
推荐指数
1
解决办法
103
查看次数