博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

django contains Q多个条件

Posted on 2017-11-14 11:09  bw_0927  阅读(1589)  评论(0)    收藏  举报

https://stackoverflow.com/questions/4824759/django-query-using-contains-each-value-in-a-list

 

https://mozillazg.github.io/2015/11/django-the-power-of-q-objects-and-how-to-use-q-object.html

 

 

try:
        q_list = []
        q_key = "outputSrc__contains"
        for obj in ffmpegOutputSrc.split(','):
            q_obj = Q(**{q_key: obj})
            q_list.append(q_obj)
        #dbRst = FFmpegIns.objects.filter(reduce(operator.or_, q_list))      
     #或者 query = reduce(operator.or_, (Q(outputSrc__contains = item) for item in ffmpegOutputSrc.split(','))) dbRst = FFmpegIns.objects.filter(query) if dbRst: result['msg'] = "添加失败,obj重复" result['code'] = 'A00001' result['channel_id'] = dbRst.id return JsonResponse(rst) except: logger.debug(traceback.format_exc())