我开始使用Django,我的应用程序中有以下代码:
filtro = "marca:samsung_modelo:s3"
mifiltro = filtro.split('_')
cadena = '0'
for caracteristica in mifiltro:
if not cadena == '0':
cadena += ", "
elif cadena == '0':
cadena = ''
aux = caracteristica.split(':')
cadena += aux[0] + "='" + aux[1] + "'"
那么cadena
是:
我想用这个变量作为过滤器:
productos = Producto.objects.filter(cadena)
但是我得到了一个错误“太多的值无法解包”。在
如果我用我的代码写:
productos = Producto.objects.filter(marca='samsung',modelo='s3')
它工作得很好。我可以用字符串过滤对象吗?在
您可以使用
dict
,然后使用**将dict的所有值解压为参数:我的代码终于奏效了!我需要使用Q对象,所以我修改了如下代码:
相关问题 更多 >
编程相关推荐