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