我必须创建一个这样的查询:
Obj.objects.exclude(title__iexact="Hello", title_iexact="Hell")
我想从列表中创建排除查询作为字典,并使用kwargs将其传递给排除。有可能吗?
我知道由于条件不可能,它绝不会排除任何记录。但是,此查询来自解析器,因此我需要确保它可以正确地提供给SQL引擎。
答案 0 :(得分:1)
我明白了... Q对象......下面链接非常好......
http://www.michelepasin.org/blog/2010/07/20/the-power-of-djangos-q-objects/
一些代码:
for rule in rules:
negative_rules.append((rule.key.lower() + "__" + "iexact", rule.value))
negative_rules = reduce(operator.or_, [Q(x) for x in negative_rules]) if negative_rules else Q()
Obj.objects.exclude(negative_rules)