def save_invoice(r): date = datetime.datetime.strptime(r['date'],'%d-%b-%Y') try: inv_num = int(r['reference'].split("-")[-1]) except: inv_num = r['inv_num'] i = Invoice( # Invoice type = InvoiceType.objects.get(pk=3),#r['itype']), date = date, #r['date'], contact = Contact.objects.get(pk=r['contact_id']), inv = inv_num, #re.sub(r'[^0-9.]','',inv_num), ref = r['reference'], nett = str(re.sub(r'[^0-9.]','',r['inv_nett'])), gst = str(re.sub(r'[^0-9.]','',r['inv_gst'])), total = str(re.sub(r'[^0-9.]','',r['inv_total'])) ) try: ipk = Invoice.objects.get(ref=r['reference']) i.pk = ipk.pk except: pass i.save() return i