Django用kwargs过滤

时间:2017-09-20 10:11:19

标签: python django

我有以下代码。

def alpha(**kwargs):
    q_obj_list = [Q(str(i), kwargs.get(i)) for i in kwargs.keys()]
    reduce(operator.and_, q_obj_list)
    return q_obj_list

q = Elements.objects.all()
q = q.filter(alpha(id=1, is_active=False))

对于此代码,我收到一条错误,指出TypeError:'bool'对象没有属性' getitem '。我打算用这个替换下面的代码。

q = Elements.objects.all()
id = kwargs.get("id")
active = kwargs.get("is_active")
q.filter(id=id,is_active=active)

如何解决此类错误?

1 个答案:

答案 0 :(得分:1)

你应该使用: q = Elements.objects.filter(**kwargs)