Saludos,
Me encuentro realizando un sistema de reportes el cual apenas tenga en una version medio estable la libero para todos pero en este momento tengo un pequeño problema.
Listo las tablas, al seleccionar una tabla listo los campo, selecciono el campo y se listan opciones de operadores (<,>,=) luego coloco el valor contra el cual voy a comparar, ejemplo
Tabla: auth_user
campo: email
operador: contains
valor= prueba
Esta seleccion generaria una regla asi: db.auth_user.email.contains('prueba')
Puedo crear tantas reglas como quiera, luego las paso al controlador y me ejecuta generando reportes dinamicos.
el codigo del controlador es :
for dat in db(db.reglas.reporte ==
request.vars.id).select(db.reglas.regla):
if pos>0:
sql+= " & "
pass
sql += " ("+ dat.regla + ") "
pos += 1
pass
db.ciu.on(
db.ciu.id==db.clientes.actividad_economica),
))
El problema radica en lo siguiente cuando lo envio asi como lo muestro, nunca me muestra informacion, se muere el servidor pero si lo envio con solo un count() sin el select y los left es rapido y me indica que son mas o menos 3 millones de registros.
alguna idea de como poder solucionar este problema.
Gracias de antemano a todos.