Il giorno 22 aprile 2015 23:58, Marco De Paoli <depao...@gmail.com> ha scritto:
> > > Il giorno 22 aprile 2015 13:58, Marco De Paoli <depao...@gmail.com> ha > scritto: > >> >> Ecco un gist con il codice completo di test cases >> https://gist.github.com/depaolim/1dfd6e3d3789047c36b1 >> > > ... ho pensato che mi farebbero comodo anche le ForeignKey con il caso di > natural key > > e poi il tutto potrebbe essere messo in una app che implementa anche un > command da usare da cli > > e poi sarebbe carino generalizzare le regole di rimappatura > al momento le cerca nell'attributo "XLSX_2_FIELDS" del modello, si > potrebbe permettere, che so... > a) di passarle come argomento alla funzione load, ok, questo è facile > b) di specificarle nei settings > c) ma il più divertente è sicuramente la possibilità di leggerle da un > particolare sheet dell'xlsx > > Il 3 permette, in pratica da Excel, di compilare un file con i dati e > anche i meta-dati di rimappatura > > ... ma qua mi sa che sto finendo troppo OT: siamo su full-django. E per > quello esiste django-it > Spero di non essermi perso troppe cose per strada nella lettura affrettata, ma quando mi è capitato di fare questo tipo di attività ho usato una namedtuple per mappare il foglio di Excel, in modo da slegarmi del tutto dal titolo della colonna e in modo da non perdermi con gli indici delle varie colonne. In pratica in questa maniera mi basta che il dato sia nella colonna X e non che titolo abbia. L'unico vincolo con questo approccio è che il numero di colonne deve essere quello, altrimenti la namedtuple va a farsi benedire. Per il database, io preferisco crearmi una lista con i parametri e darli in pasto al cursor.executemany(), perché in questo modo la velocità di inserimento/aggiornamento diventa quasi trascurabile (questo per circa 350.000 righe al colpo verso un db Oracle). E si sposa completamente il concetto KISS.. :) E spero di non avere sparato troppo sbagliato con la risposta... :D Ciao, Simone
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python