2
,并回答here,我能想出如何动态地蒙戈引擎使用的map/reduce和lambda表达式构建复杂的查询。动态构建和查询Mongoengine
然而,当我试着我的OR查询切换到与查询,我遇到了麻烦(讽刺的是,这个问题的海报上面那样,太,之后他最初的问题得到回答)。
这里是我运行代码:
titles = ['topic1', 'topic2', 'topic3']
query = reduce(lambda q1, q2: q1.__and__(q2),
map(lambda the_title: Q(slug__iexact=the_title), titles))
threats = Threat.objects.filter(query)
当我这样做,我得到以下错误:
InvalidQueryError: Duplicate query conditions: slug__iexact
然而,当我运行相同的代码,但对于代__and__
__or__
,查询完美。
与往常一样,我不是专家,我盘算的事情了,因为我去,所以我可能失去了一些东西明显。非常感谢这里的任何想法。
谢谢 - 真正帮助我理解它。我很感激! – nickgrossman