Generate a django queryset based on dict keys

倾然丶 夕夏残阳落幕 提交于 2019-12-21 02:57:07

问题


I have a dict like:

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

And I need a queryset like

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

Thanks


回答1:


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



回答2:


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})


来源:https://stackoverflow.com/questions/5350846/generate-a-django-queryset-based-on-dict-keys

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!