简体   繁体   English

基于dict键生成django查询集

[英]Generate a django queryset based on dict keys

I have a dict like: 我有一个像这样的字典:

{
    'key1' : val1,
    'key2' : val2
}

And I need a queryset like 我需要一个类似的查询集

Q(key1__icontains = val1) | Q(key2__icontains = val2)

Thanks 谢谢

reduce(operator.or_, Q(**{key + '__icontains': val}) for (key, val) in D.iteritems())

There's a more pragmatic approach, as I need to generate various keys from one. 有一个更实用的方法,因为我需要从一个生成各种键。

query = None
for key, value in d.iteritems():
    if query is None:
        query = Q(**{key + "__icontains" : value})
    else:
        query |= Q(**{key + "__icontains" : value})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM