我在将参数通过列表传递给 Django 过滤器时遇到问题。这是我的代码:
args = [ "Q( title__icontains = 'Foo' ) | Q( author__icontains = 'Foo' )", "Q( title__icontains = 'Bar' ) | Q( author__icontains = 'Bar' )" ]
entries = Book.objects.filter( *args )
但是 filter 返回这个错误:
ValueError: too many values to unpack,
请您参考如下方法:
您的args 是字符串,但它们必须是Q 对象。删除 Q 对象定义两边的引号。
