[Python-es] Django , error de enconding(?)
Oswaldo Hernández
listas en soft-com.es
Mie Feb 9 15:48:26 CET 2011
El 09/02/2011 2:21, Manuel A. Estevez Fernandez escribió:
> Hola ...
>
> Tengo el siguiente método en el archivo view:
>
> def busqueda(request):
> error = False
> if request.method =='GET':
>
> consulta = request.GET.get('consulta')
> if not consulta:
> error = True
> else:
>
> from django.db import connection
> cursor = connection.cursor()
>
> cursor.execute("""select * from
> (select id_archivo_id,id_emite_id,nombre,rfc
> from facturas_facturas f join facturas_entes e on(f.id_emite_id=e.id)) as q0
> join
> (select id_archivo_id,id_recibe_id,nombre as cliente,rfc as
> rfc_cliente,serie,folio,fecha, total
> from facturas_facturas f join facturas_entes e on(f.id_recibe_id=e.id))
> as q1
> using(id_archivo_id)
> where lower(serie||folio) like lower('%%%s%%')
> or lower(rfc_cliente) like lower('%%%s%%')
> or lower(rfc) like lower('%%%s%%')
> or lower(cliente) like lower('%%%s%%')
> or lower(nombre) like lower('%%%s%%')
> order by fecha
> """, [ consulta,consulta,consulta,consulta,consulta ])
> lista =[]
> for row in cursor.fetchall():
> dic =
> {'id_archivo_id':row[0],'id_emite_id':row[1],'nombre_emite':row[2],'rfc_emite':row[3],'id_recibe_id':row[4],'nombre_recibe':row[5],'rfc_recibe':row[6],'serie':row[7],'folio':row[8],'fecha':row[9],'total':row[10]}
> lista.append(dic)
>
> return
> render_to_response("facturas/resultado.html",{"facturas":lista,"consulta":consulta})
> else:
> return render_to_response("facturas/resultado.html")
>
> pero cuando intenta realizar la consulta a la cadena pasada como
> parámetros le agrega un E'cadena' por ejemplo :
>
> where lower(serie||folio) like lower('%E'kkl'%')
>
>
> No tengo idea de que pueda ser, espero me puedan ayudar.
>
No dices que base de datos usas, pero tiene pinta se ser el escape
string de PostgreSQL [1]
Si es ese el caso, esta funcionado correctamente. Otra cosa es que tu
estés haciendo bien la sustitución de parámetros.
[1]
<http://www.postgresql.org/docs/9.0/static/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS-ESCAPE>
Saludos,
--
Oswaldo Hernández
Más información sobre la lista de distribución Python-es