¡Conseguido!
Pongo el código por si le sirve a alguien...
Código Python:
Ver originalfiltro="marca:1|2"
aux=filtro.split(':')
mismarcas=aux[1].split('|')
mimarca=[]
for marca in mismarcas:
mimarca += [Q(**{ aux[0]: marca})]
productos = Producto.objects.filter(reduce(operator.or_, mimarca))
Gracias Razpeitia! Me has abierto los ojos!
Javi.