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
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a