Skip to main content
 首页 » 编程设计

python之ValueError : too many values to unpack, 将列表作为 *args 传递

2025年05月04日29lyhabc

我在将参数通过列表传递给 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 对象定义两边的引号。