Sto lavorando a un progetto (scritto in Django) che ha solo poche entità, ma molte righe per ogni entità.Creazione di una lingua di query DSL
Nella mia applicazione ho diversi "report" statici, scritti direttamente in SQL semplice. Gli utenti possono anche cercare nel database tramite un modulo di filtro generico. Dal momento che il pubblico di destinazione è davvero esperto di tecnologia e ad un certo punto il filtro non si adatta alle loro esigenze, penso a creare un linguaggio di query per il mio database come YQL o Jira's advanced search.
Ho trovato http://sourceforge.net/projects/littletable/ e http://www.quicksort.co.uk/DeeDoc.html, ma sembra che funzionino solo su oggetti in memoria. Poiché il database può essere troppo grande per tenerlo in memoria, preferirei che la query sia tradotta in SQL (o meglio una query di Django) prima di eseguire il lavoro effettivo.
Esistono librerie o best practice su come eseguire questa operazione?
Si potrebbe guardare questo add-on di Zope come exmaple: http://www.dieter.handshake.de/pyprojects/zope/AdvancedQuery.html –
Ma SQL è già DSL) – Denis