estoy trabajando en un proyecto (escrito en Django) que tiene solo unas pocas entidades, pero muchas filas para cada entidad.Creando un lenguaje de consulta DSL
En mi aplicación tengo varios "informes" estáticos, escritos directamente en SQL simple. Los usuarios también pueden buscar en la base de datos a través de un formulario de filtro genérico. Dado que el público objetivo es realmente conocedor de la tecnología y en algún momento el filtro no se ajusta a sus necesidades, pienso en crear un lenguaje de consulta para mi base de datos como YQL o Jira's advanced search.
Encontré http://sourceforge.net/projects/littletable/ y http://www.quicksort.co.uk/DeeDoc.html, pero parece que solo funcionan en objetos en memoria. Como la base de datos puede ser demasiado grande para almacenarla en la memoria, preferiría que la consulta se traduzca en SQL (o mejor en una consulta de Django) antes de realizar el trabajo real.
¿Hay alguna biblioteca o mejores prácticas sobre cómo hacer esto?
Puede ver este complemento de Zope como ejemplo: http://www.dieter.handshake.de/pyprojects/zope/AdvancedQuery.html –
Pero SQL ya es DSL) – Denis