django query utils,问:是否有可能从Q中删除一些查询?

时间:2014-05-07 11:41:23

标签: sql django django-q

我有作为参数Q(django.db.models.query_utils.Q)对象的函数,我需要修改它并返回新的Q对象。

在某些情况下,我需要从给定的Q对象中删除当前的查询语句。一般来说,有可能吗? django是否为此构建了它的方法?

我写了自己的功能:

def delete_current_filter(queryset, val):
 i = 0
 for par in q.query.where.children:
    try:
        if par.children[1].children[0][3] in val:
            del q.query.where.children[i]
            i -= 1
    except IndexError:
        pass
    i += 1
 q = q.all()
 return q

但它不能正常工作,我需要自己删除连接等 - 这是复杂查询中的一大难题(

有谁知道为它构建解决方案?

谢谢。

0 个答案:

没有答案