def handle(self, *args, **options): try: spese_csv = csv.reader(options["file"]) except: raise CommandError('Parametro "file" non corretto') for spesa_csv in spese_csv: s = Spesa( importo=spesa_csv[1].replace("€", "").replace(" ", "").replace(".", "").replace(",", "."), descrizione=spesa_csv[2], quantita=spesa_csv[3], ) data_val = datetime.datetime.strptime(spesa_csv[0], "%d/%m/%Y") s.data_accredito = data_val s.data_riferimento = data_val # lettura ambito e abbinamento all'oggetto ambiti = Ambito.objects.filter(num__exact=spesa_csv[4]) if not ambiti: raise CommandError("Non esiste l'Ambito_ID=%d" % spesa_csv[4]) exit() s.ambito = ambiti[0] # lettura tags e abbinamento s.save() elenco_tags = spesa_csv[6].replace(" ", "") if len(elenco_tags) > 0: for tag in elenco_tags.split(","): t, created = Tag.objects.get_or_create(descrizione=tag) s.tags.add(t) s.save() self.stdout.write("Importazione spese completata con successo")
def handle(self, *args, **options): try: spese_json = json.load(options['file']) except: raise CommandError('Parametro "file" non corretto') for spesa_json in spese_json: s = Spesa( importo=spesa_json['Importo'], descrizione=spesa_json['Descrizione'], quantita=spesa_json['Quantita'], ) data_val = spesa_json['Data'] s.data_accredito = data_val s.data_riferimento = data_val # lettura ambito e abbinamento all'oggetto ambiti = Ambito.objects.filter(num__exact=spesa_json['Ambito_ID']) if not ambiti: raise CommandError('Non esiste l\'Ambito_ID=%d' % spesa_json['Ambito_ID']) exit() s.ambito = ambiti[0] # lettura tags e abbinamento s.save() elenco_tags = spesa_json['Tags'].replace(' ', '') if len(elenco_tags) > 0: for tag in elenco_tags.split(','): t, created = Tag.objects.get_or_create(descrizione=tag) s.tags.add(t) s.save() self.stdout.write('Importazione spese completata con successo')