Il giorno 21 aprile 2015 11:27, Marco De Paoli <depao...@gmail.com> ha scritto:
P.S. ... se posso posto lo snippet finale con anche la gestione delle FK > ecco qua: @django.db.transaction.atomic def load_from_xlsx(cls, rows): fs = {c.column: cls.XLSX_2_FIELDS.get(c.value) for c in rows[0]} cls.objects.all().delete() cls.objects.bulk_create([ cls(**{fs[c.column].get_attname(): c.value for c in r if fs[c.column]}) for r in rows[1:]] ) Ed ecco un esempio d'uso: wb = openpyxl.load_workbook("myfile.xlsx") load_from_xlsx(MyModel, wb.active.rows) L'unica altra cosa che serve è che MyModel abbia l'attributo XLSX_2_FIELDS per stabilire la rimappatura tra: nomi delle colonne xlsx e nomi dei field Ecco un gist con il codice completo di test cases https://gist.github.com/depaolim/1dfd6e3d3789047c36b1 ciao, Marco
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python